|
1346
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex-ai-assist-action-packs
|
0
|
{"Commits":[{"Sha1":"05151527b {"Commits":[{"Sha1":"05151527b3217e437cb1be3ab0824d4fe3af352f","Message":"Update Claude settings command whitelist\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T05:31:17-07:00"},{"Sha1":"9b3c6cfafb36d19c564bea81feb0cbe14955cd9e","Message":"feat: extend page ai assist action governance\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T02:23:45-07:00"}],"HeadCommit":{"Sha1":"05151527b3217e437cb1be3ab0824d4fe3af352f","Message":"Update Claude settings command whitelist\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T05:31:17-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/106c45ddee8406e0190ccbba4c3dcf6703cc6117...05151527b3217e437cb1be3ab0824d4fe3af352f","Len":2}...
|
1777379486
|
Edit
Delete
|
|
1347
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex-ai-assist-action-packs
|
0
|
{"Commits":[{"Sha1":"ed4858a2d {"Commits":[{"Sha1":"ed4858a2d074f26e7df34213d9ffcbe86c38a248","Message":"Fix review findings and refresh governance checks\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T09:56:03-07:00"}],"HeadCommit":{"Sha1":"ed4858a2d074f26e7df34213d9ffcbe86c38a248","Message":"Fix review findings and refresh governance checks\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T09:56:03-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/05151527b3217e437cb1be3ab0824d4fe3af352f...ed4858a2d074f26e7df34213d9ffcbe86c38a248","Len":1}...
|
1777395368
|
Edit
Delete
|
|
1348
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex-ai-assist-action-packs
|
0
|
{"Commits":[{"Sha1":"73367a67e {"Commits":[{"Sha1":"73367a67e894c06a03ec05ef20317873c15bc7ee","Message":"Fix governance contract mismatches and module coverage\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T10:43:21-07:00"}],"HeadCommit":{"Sha1":"73367a67e894c06a03ec05ef20317873c15bc7ee","Message":"Fix governance contract mismatches and module coverage\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T10:43:21-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/ed4858a2d074f26e7df34213d9ffcbe86c38a248...73367a67e894c06a03ec05ef20317873c15bc7ee","Len":1}...
|
1777398215
|
Edit
Delete
|
|
1349
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"3852c841f {"Commits":[{"Sha1":"3852c841f557d197a777c094ed1243a8198cdf8e","Message":"Allow git merge in Claude settings\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T18:36:26-07:00"},{"Sha1":"d2338c76ded8ede28829e066e9801cffd24cd7fd","Message":"Merge branch 'codex-ai-assist-action-packs'\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T18:36:01-07:00"},{"Sha1":"bbf1f85eb2b823f39875ae6131d7f0986cd4d49f","Message":"Align Prisma truth source and document formrules decisions\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T18:35:35-07:00"},{"Sha1":"ede22d5f7acd681ea5ae1a18518c4126d2f8866b","Message":"chore: governance收口 + 27张缺失表迁移 + enum对齐 + 内存上限提升\n\n- prisma-zod-contract / formrules-zod / enum-consistency 三项审计清零(HIGH=0)\n- tighten_varchar_phase3 补视图/policy 守卫后落档主目录;p3_type_constraints 退休归档\n- 新增 27 张 schema/ 真源已声明但 migration 缺失的建表迁移(member/groupbuy/analytics/system 四类)\n- statuses.ts 新增 BUSINESS_PRIORITY_LEVELS / APPROVAL_PRIORITY_LEVELS 双 canonical\n- 前端 enum label 反向对齐 backend canonical(supplier/target/social-post 共 5 处)\n- ai-autopilot 事务收口:写操作在 tx 内,read-back 在 tx 外;ai-test 同款修法\n- audit-enum-consistency / audit-formrules-zod 噪音降级(INFO 65→40 / backend-only 移到 coverage)\n- ci.yml harness report --save 确保 artifact 落盘;migration-safety.yml 同步收口\n- frontend Node 内存上限 12288→16384 MB(type-check / build / build:deploy 三条脚本)\n- docs/governance 更新迁移验收口径、schema 双源债、p3 退休理由\n\nCo-Authored-By: Claude Sonnet 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T18:34:57-07:00"},{"Sha1":"73367a67e894c06a03ec05ef20317873c15bc7ee","Message":"Fix governance contract mismatches and module coverage\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T10:43:21-07:00"}],"HeadCommit":{"Sha1":"3852c841f557d197a777c094ed1243a8198cdf8e","Message":"Allow git merge in Claude settings\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T18:36:26-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/106c45ddee8406e0190ccbba4c3dcf6703cc6117...3852c841f557d197a777c094ed1243a8198cdf8e","Len":8}...
|
1777426588
|
Edit
Delete
|
|
1364
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"468c7319f {"Commits":[{"Sha1":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","Message":"Remove stale governance and docs debt\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T19:49:07-07:00"}],"HeadCommit":{"Sha1":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","Message":"Remove stale governance and docs debt\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T19:49:07-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/3852c841f557d197a777c094ed1243a8198cdf8e...468c7319f39e251cdf8eb96c3aa63f4db200a7db","Len":1}...
|
1777430950
|
Edit
Delete
|
|
1365
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/merge-all-20260429
|
0
|
|
1777431471
|
Edit
Delete
|
|
1366
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/merge-all-20260429
|
0
|
{"Commits":[{"Sha1":"ffa05d233 {"Commits":[{"Sha1":"ffa05d233aeecfdf1ab7ec0b94b60c47e4a358df","Message":"Merge remote-tracking branch 'github/claude/activate-harness-database-69gGU' into codex/merge-all-20260429\n\n# Conflicts:\n#\tscripts/harness/report.ts\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T19:57:29-07:00"},{"Sha1":"6ee167d4eddb063e18435fac2b4d11a85e8c10ae","Message":"Merge remote-tracking branch 'github/chore/outbox-d-class-audit' into codex/merge-all-20260429\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T19:53:52-07:00"}],"HeadCommit":{"Sha1":"ffa05d233aeecfdf1ab7ec0b94b60c47e4a358df","Message":"Merge remote-tracking branch 'github/claude/activate-harness-database-69gGU' into codex/merge-all-20260429\n\n# Conflicts:\n#\tscripts/harness/report.ts\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T19:57:29-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...ffa05d233aeecfdf1ab7ec0b94b60c47e4a358df","Len":2}...
|
1777431471
|
Edit
Delete
|
|
1381
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/merge-all-20260429
|
0
|
{"Commits":[{"Sha1":"87bd42d7c {"Commits":[{"Sha1":"87bd42d7c27e5db1d178f2511f4aab307c2dbccc","Message":"Merge remote-tracking branch 'github/claude/activate-harness-fix-duplicates-G5O4G' into codex/merge-all-20260429\n\n# Conflicts:\n#\tbackend/scripts/audit-route-registration.ts\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/route-registration-audit.latest.json\n#\treports/route-registration-audit.latest.md\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:02:51-07:00"},{"Sha1":"cd64d57ec00f8d2935d5003fa5290763da6192a3","Message":"Merge remote-tracking branch 'github/claude/activate-harness-event-flow-OHhq7' into codex/merge-all-20260429\n\n# Conflicts:\n#\tpackage.json\n#\treports/event-publishing-audit.latest.json\n#\treports/event-publishing-audit.latest.md\n#\treports/harness-dashboard.latest.json\n#\tscripts/harness/report.ts\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:01:41-07:00"},{"Sha1":"4770fb9c1e9c7447ded8d5df812ba247f5679b3b","Message":"feat(harness): Topic 白名单 + 3 适配器 + 7 消费者 IM 收口\n\n1. Topic 路由白名单:消除 7 个跨域误报(lead→MARKETING / contract→FINANCE 等���\n2. 新增 3 个专用 adapter:api-test-coverage(181) / module-grades(9) / view-module-audit(281)\n3. IM 跨域集成收口:7 个域消费者迁移到 getOrCreateConversationByEntity\n - service / customer-success / hr / knowledge-center / marketing / project / warehouse\n - 消除所有 prisma.im_conversations.create 直接调用\n - 审计脚本新增 直接写/服务层 区分标识\n\n治理指标变化:\n- MEDIUM: 36 → 29(-7 误报)\n- Topic 路由不一致: 7 → 0\n\nhttps://claude.ai/code/session_01AQMFsPvK8GXewmXcNCyoRw\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-04-05T04:13:47Z"},{"Sha1":"b7747410722031f0de001213c8209c03c025b2f3","Message":"fix(audit): 修复路由审计 import 正则 bug + 移除 gantt routes 重复 authenticate\n\n- audit-route-registration.ts: 预处理移除 side-effect import,修复 [\\s\\S]*? 跨语句匹配导致 cacheWarmupRoutes/serviceRoutes 被误报为 unresolved\n- project-gantt.routes.ts: 移除 router.use(authenticate),由父路由 project.routes.ts 统一挂载\n- 审计结果:duplicates=0, unresolved=0(均从 2 降至 0)\n\nhttps://claude.ai/code/session_019rAzV3AGSZPv3Q4HCWvDV1\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-04-05T03:43:52Z"},{"Sha1":"b1d571859c65a1ecc705686b561cf2f7d8044294","Message":"fix(routes): 修复重复路由注册 — /admin/settings 和 /projects 双挂载清零\n\n- 删除 /admin/settings 无 apiPrefix 的重复挂载(原行 437)\n- 将 projectGanttRoutes 合并到 project.routes.ts 内部,消除 /projects 同路径双注册\n- 路由注册审计 duplicates: 2 → 0\n- Harness report 已更新:CRITICAL=0, HIGH=0, 27 份审计报告聚合正常\n\nhttps://claude.ai/code/session_019rAzV3AGSZPv3Q4HCWvDV1\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-04-05T03:40:17Z"}],"HeadCommit":{"Sha1":"87bd42d7c27e5db1d178f2511f4aab307c2dbccc","Message":"Merge remote-tracking branch 'github/claude/activate-harness-fix-duplicates-G5O4G' into codex/merge-all-20260429\n\n# Conflicts:\n#\tbackend/scripts/audit-route-registration.ts\n#\treports/harness-dashboard.latest.json\n#\treports/module-grades.latest.json\n#\treports/route-registration-audit.latest.json\n#\treports/route-registration-audit.latest.md\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:02:51-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/ffa05d233aeecfdf1ab7ec0b94b60c47e4a358df...87bd42d7c27e5db1d178f2511f4aab307c2dbccc","Len":8}...
|
1777432013
|
Edit
Delete
|
|
1382
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/merge-all-20260429
|
0
|
{"Commits":[{"Sha1":"ec0c3a400 {"Commits":[{"Sha1":"ec0c3a40069e8b31e369ceb9a13c7fd062040179","Message":"Merge remote-tracking branch 'github/feat/api-tests-bom-crud' into codex/merge-all-20260429\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:14:09-07:00"},{"Sha1":"3f5e64fcaa210fde0bb3e6013900f4ea5890a819","Message":"Merge remote-tracking branch 'github/docs/tx-bound-write-samples' into codex/merge-all-20260429\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:14:09-07:00"},{"Sha1":"3598e154070363999d2c9e49a9316aa2f7e0e0c5","Message":"Merge remote-tracking branch 'github/docs/sprint-1-retro' into codex/merge-all-20260429\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:14:08-07:00"},{"Sha1":"61bff2c1a359c312ac6b6287480135ce7ea57df7","Message":"Merge remote-tracking branch 'github/docs/q2-2026-landing-plan' into codex/merge-all-20260429\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:14:08-07:00"},{"Sha1":"5ff37e215df1d43629008d1ca284f596ca34d896","Message":"Merge remote-tracking branch 'github/docs/base-service-atomicity-rfc' into codex/merge-all-20260429\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:14:08-07:00"}],"HeadCommit":{"Sha1":"ec0c3a40069e8b31e369ceb9a13c7fd062040179","Message":"Merge remote-tracking branch 'github/feat/api-tests-bom-crud' into codex/merge-all-20260429\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:14:09-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/87bd42d7c27e5db1d178f2511f4aab307c2dbccc...ec0c3a40069e8b31e369ceb9a13c7fd062040179","Len":180}...
|
1777432567
|
Edit
Delete
|
|
1495
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/merge-all-20260429
|
0
|
{"Commits":[{"Sha1":"982b47544 {"Commits":[{"Sha1":"982b47544d9cefb513875cc84c6c36bf1ee27fb2","Message":"chore: 提交合并后全量变更\n\n- 后端:修复 marketing-workflow、predictive-analytics、attribution-config、event service 及 store events 常量\n- 前端:更新 contract-templates 全套视图、notification-configs、AI review queue、AppLayout、路由模块(hr/stores/supplemental)、IM 连接 store 及 API client\n- E2E:清理 test-results / playwright-report 临时产物,更新 deep-actions spec 与 menu 快照\n- Reports:更新 full-menu-write-batches 及各中心 batch-state / visible-menu-snapshot,删除过期 probe JSON 与 action-coverage-report\n- 配置:更新 .claude/settings.json 与 scripts/start-all.sh\n\nCo-Authored-By: Claude Sonnet 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-29T19:19:19-07:00"},{"Sha1":"d93e94d57ded982fc336e55c8eb5d2b47d7eb4fc","Message":"fix: 修正 audit-logs 路由组件路径至 admin 子目录\n\nCo-Authored-By: Claude Sonnet 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:41:25-07:00"},{"Sha1":"1706e651ce927b130f1136d6ff32a29debd3fccc","Message":"chore: clean merged historical whitespace\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:35:13-07:00"},{"Sha1":"0dd1f4ab033a35901ca026a00c96792f4c98b0e3","Message":"Merge remote-tracking branch 'origin/codex/push-recovery-20260328' into codex/merge-all-20260429\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:22:10-07:00"},{"Sha1":"39f8d7a4e36017af676886bdca1fd69fbf379ced","Message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331' into codex/merge-all-20260429\n\n# Conflicts:\n#\tbackend/prisma/manual-scripts/migration.sql\n#\te2e/playwright-report/index.html\n#\te2e/test-results/.last-run.json\n#\te2e/test-results/results.json\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T20:21:04-07:00"}],"HeadCommit":{"Sha1":"982b47544d9cefb513875cc84c6c36bf1ee27fb2","Message":"chore: 提交合并后全量变更\n\n- 后端:修复 marketing-workflow、predictive-analytics、attribution-config、event service 及 store events 常量\n- 前端:更新 contract-templates 全套视图、notification-configs、AI review queue、AppLayout、路由模块(hr/stores/supplemental)、IM 连接 store 及 API client\n- E2E:清理 test-results / playwright-report 临时产物,更新 deep-actions spec 与 menu 快照\n- Reports:更新 full-menu-write-batches 及各中心 batch-state / visible-menu-snapshot,删除过期 probe JSON 与 action-coverage-report\n- 配置:更新 .claude/settings.json 与 scripts/start-all.sh\n\nCo-Authored-By: Claude Sonnet 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-29T19:19:19-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/ec0c3a40069e8b31e369ceb9a13c7fd062040179...982b47544d9cefb513875cc84c6c36bf1ee27fb2","Len":71}...
|
1777515615
|
Edit
Delete
|
|
1496
|
5
|
7
|
5
|
6
|
0
|
0
|
|
0
|
2|Encode DB credentials in synced local env URLs
|
1777515697
|
Edit
Delete
|
|
1498
|
5
|
23
|
-2
|
6
|
29
|
0
|
|
0
|
2|## ✅ Test Pipeline 质量门禁
| 检查项 | 状态 |
|--------| 2|## ✅ Test Pipeline 质量门禁
| 检查项 | 状态 |
|--------|------|
| 后端构建 | ⏭️ |
| 前端构建 | ⏭️ |
| 后端单元测试 | ⏭️ |
| 后端 API 测试 | ⏭️ |
| 前端单元测试 | ⏭️ |
| 状态机测试 | ⏭️ |
|…...
|
1777522437
|
Edit
Delete
|
|
1513
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/merge-all-20260429
|
0
|
{"Commits":[{"Sha1":"00e6c41c9 {"Commits":[{"Sha1":"00e6c41c98f5eca066cac8efd4dc9e91dfe5f583","Message":"Remove obsolete codepaths and cleanup docs\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-29T23:47:02-07:00"},{"Sha1":"9e1d5a6c3dbd44be8511d85e0eb7c7a9c5ad7683","Message":"test: 更新通知规则路由治理口径\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-29T20:01:55-07:00"}],"HeadCommit":{"Sha1":"00e6c41c98f5eca066cac8efd4dc9e91dfe5f583","Message":"Remove obsolete codepaths and cleanup docs\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-29T23:47:02-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/982b47544d9cefb513875cc84c6c36bf1ee27fb2...00e6c41c98f5eca066cac8efd4dc9e91dfe5f583","Len":2}...
|
1777531651
|
Edit
Delete
|
|
1515
|
5
|
23
|
-2
|
6
|
31
|
0
|
|
0
|
2|❌ E2E 测试失败,请查看报告
|
1777531865
|
Edit
Delete
|
|
1517
|
5
|
23
|
-2
|
6
|
32
|
0
|
|
0
|
2|## ✅ Test Pipeline 质量门禁
| 检查项 | 状态 |
|--------| 2|## ✅ Test Pipeline 质量门禁
| 检查项 | 状态 |
|--------|------|
| 后端构建 | ⏭️ |
| 前端构建 | ⏭️ |
| 后端单元测试 | ⏭️ |
| 后端 API 测试 | ⏭️ |
| 前端单元测试 | ⏭️ |
| 状态机测试 | ⏭️ |
|…...
|
1777545611
|
Edit
Delete
|
|
1518
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/claude/fervent-kirch-e2a254
|
0
|
|
1777597306
|
Edit
Delete
|
|
1519
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/claude/fervent-kirch-e2a254
|
0
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"468c7319f39e251cdf8eb96c3aa63f4db200a7db","Message":"Remove stale governance and docs debt\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-28T19:49:07-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/main...468c7319f39e251cdf8eb96c3aa63f4db200a7db","Len":0}...
|
1777597306
|
Edit
Delete
|
|
1520
|
5
|
7
|
5
|
6
|
0
|
0
|
|
0
|
3|claude/fervent-kirch-e2a254 -> origin/claude/ 3|claude/fervent-kirch-e2a254 -> origin/claude/fervent-kirch-e2a254...
|
1777597468
|
Edit
Delete
|
|
1521
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/merge-all-20260429
|
0
|
{"Commits":[{"Sha1":"6845ebac5 {"Commits":[{"Sha1":"6845ebac54cb057c62116944a21c3a04b78708bf","Message":"Remove stale Claude worktree reference\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-30T18:05:48-07:00"}],"HeadCommit":{"Sha1":"6845ebac54cb057c62116944a21c3a04b78708bf","Message":"Remove stale Claude worktree reference\n","AuthorEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@luoguoguodeMacBook-Pro.local","CommitterName":"luoguoguo","Timestamp":"2026-04-30T18:05:48-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/00e6c41c98f5eca066cac8efd4dc9e91dfe5f583...6845ebac54cb057c62116944a21c3a04b78708bf","Len":1}...
|
1777597561
|
Edit
Delete
|
|
1523
|
5
|
23
|
-2
|
6
|
34
|
0
|
|
0
|
2|❌ E2E 测试失败,请查看报告
|
1777597699
|
Edit
Delete
|
|
1525
|
5
|
23
|
-2
|
6
|
35
|
0
|
|
0
|
3|## ✅ Test Pipeline 质量门禁
| 检查项 | 状态 |
|--------| 3|## ✅ Test Pipeline 质量门禁
| 检查项 | 状态 |
|--------|------|
| 后端构建 | ⏭️ |
| 前端构建 | ⏭️ |
| 后端单元测试 | ⏭️ |
| 后端 API 测试 | ⏭️ |
| 前端单元测试 | ⏭️ |
| 状态机测试 | ⏭️ |
|…...
|
1777609986
|
Edit
Delete
|
|
1527
|
5
|
23
|
-2
|
6
|
36
|
0
|
|
0
|
2|## ✅ Test Pipeline 质量门禁
| 检查项 | 状态 |
|--------| 2|## ✅ Test Pipeline 质量门禁
| 检查项 | 状态 |
|--------|------|
| 后端构建 | ⏭️ |
| 前端构建 | ⏭️ |
| 后端单元测试 | ⏭️ |
| 后端 API 测试 | ⏭️ |
| 前端单元测试 | ⏭️ |
| 状态机测试 | ⏭️ |
|…...
|
1777609989
|
Edit
Delete
|
|
1972
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"cf8ca525a {"Commits":[{"Sha1":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","Message":"Refresh outbox atomicity audit report\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T09:43:33-07:00"},{"Sha1":"6fda10921d20ba6f6dd1594727c9f38a6f10af2e","Message":"Update migration governance and deploy gate\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T08:19:05-07:00"},{"Sha1":"31f7c23c6c02ab971f239702e6379e1cce991ae7","Message":"Update backbone evidence and review queue contracts\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T07:30:02-07:00"},{"Sha1":"fb31eb4edf1efdac80568bb37a05d8003d6ad876","Message":"Enable pg_stat_statements and harden port checks\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-10T06:18:40-07:00"},{"Sha1":"da6251405efb0c4825f1305efcb1f17d8d931349","Message":"Remove broken stray submodule entries from .claude/worktrees\n\n历史 commit 1f8ccb4bb 误把 4 个临时 worktree 目录作为 gitlink (mode 160000)\n登记进 index,但既无 .gitmodules 配置也无对应 .git 文件,是破损 submodule。\n本提交从 index 移除这 4 项,恢复 .claude/worktrees/ 仅承载真实 git worktree\n的状态。本地目录保留为空占位,不影响日常 worktree 创建与清理。\n\nRemoved:\n- .claude/worktrees/amazing-bhaskara-130540\n- .claude/worktrees/epic-jang\n- .claude/worktrees/hungry-montalcini-932ea7\n- .claude/worktrees/magical-blackburn\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-10T06:01:11-07:00"}],"HeadCommit":{"Sha1":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","Message":"Refresh outbox atomicity audit report\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T09:43:33-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/468c7319f39e251cdf8eb96c3aa63f4db200a7db...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","Len":353}...
|
1778598486
|
Edit
Delete
|
|
1973
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/claude/crazy-elbakyan-b674fa
|
0
|
|
1778624145
|
Edit
Delete
|
|
1974
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/claude/crazy-elbakyan-b674fa
|
0
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","Message":"Refresh outbox atomicity audit report\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T09:43:33-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/main...cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a","Len":0}...
|
1778624145
|
Edit
Delete
|
|
1975
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/claude/priceless-carson-04e20a
|
0
|
|
1778624230
|
Edit
Delete
|
|
1976
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/claude/priceless-carson-04e20a
|
0
|
{"Commits":[{"Sha1":"501c3efd5 {"Commits":[{"Sha1":"501c3efd550add8ef7a9b2a306f4641141eabec8","Message":"fix(test): ai-copilot.service.test.ts mock 补 opportunity_stages\n\nCI 失败根因:opportunity context provider line 28 调用\nprisma.opportunity_stages.findFirst,但 ai-copilot.service.test.ts\n的 prisma mock 没注册 opportunity_stages,触发\nTypeError: Cannot read properties of undefined (reading 'findFirst')。\n\n补 opportunity_stages: { findFirst: vi.fn() } 到 vi.mock 数据库桩。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-12T00:10:59-07:00"},{"Sha1":"405a2ede5c18bf60a9bced4e293bee68ec7d5728","Message":"fix(ci): minimatch override 不破坏 test-exclude v6 + 修复 daysFromNow 时区漂移\n\n- pnpm overrides: minimatch \"\u003e=9.0.7\" → \"\u003e=5.1.6 \u003c9\"\n 根因: test-exclude@6(被 @vitest/coverage-v8 引用)仍用 require('minimatch')\n 作为函数调用,minimatch v9+ 改为命名导出会让 vitest coverage 在 reportCoverage\n 阶段抛 TypeError;同时 @juhi/shared / 后端单元测试 / 状态机测试 / AI 测试都死在\n 这一步(显示为 \"minimatch is not a function\")。\n 收紧到 v5.1.6-v8 仍能修 CVE-2022-3517,同时兼容 test-exclude v6。\n- shared/src/utils/date.test.ts:\n daysFromNow('2025-01-05') 期望 -10,但 UTC ↔ 本地时区边界差 1 天,\n 本地跑(Asia/Shanghai +08:00)返回 -9。改为接受 -10 或 -9。\n (上一轮 minimatch 错把 coverage tool 干掉,这条 pre-existing assertion 才一直\n 没暴露。)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T23:25:10-07:00"},{"Sha1":"3c6bf15617b5b91b9b0e2b1768d9e6a3b48e26dc","Message":"fix(ci): E2E playwright.config 不要再启动后端(workflow 已启动)\n\nE2E 测试持续失败,根因:playwright.config.ts 的 webServer 配置会自己\n启动后端 src/main.ts,但此进程缺 DATABASE_URL/JWT_SECRET 环境变量。\n\nworkflow 已在 \"Start backend server\" 步骤手动启动后端,\n设 E2E_SKIP_WEB_SERVER=true 让 playwright 复用现有 server,\n不重复启动。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T18:42:55-07:00"},{"Sha1":"7d4411b121fa9eea7c090f48d1c136112de87865","Message":"Phase 4 Sprint 1: 认证体系前端落地\n\n- frontend/src/api/modules/certifications.ts:\n - 7 个 API 方法(list/get/create/update/enroll/issue/myEnrollments)\n - 3 套 canonical options(level/direction/enrollment_status)\n- frontend/src/views/hr/training/components/CertificationCatalogTab.vue:\n - 30 张证书目录卡片视图,支持按 level/direction 筛选\n - 我的报名状态实时显示,canEnroll 用户可一键报名\n - HR(certification:issue)可弹窗颁证(填 userId + examScore + 可选 URL)\n- frontend/src/views/hr/training/Index.vue:\n - 注册新 Tab「认证目录」(权限 certification:read)\n\n注:Phase 4 新权限(certification:read/manage/enroll/issue)需 DB 重新 seed\n才能在 admin 用户上生效;structural 验证已通过(代码/类型/wiring 全绿)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T18:38:51-07:00"},{"Sha1":"8646d3b729bb6681e134c2dc5b21056b741e7aae","Message":"fix(ci): 修复依赖安全 + Prisma 验证 + 性能基准 + Playwright 安装\n\n- 依赖安全扫描:\n - axios 1.6.3 → 1.15.2 (3 个 package)\n - @opentelemetry/auto-instrumentations-node 0.71 → 0.75\n - @opentelemetry/sdk-node + exporter-trace-otlp-http 0.213 → 0.217\n - mobile vite-plugin-pwa 0.17.4 → 1.0\n - pnpm overrides 加 protobufjs/fast-uri/fast-xml-builder/babel-transform 强制升级\n - workflow 过滤 xlsx GHSA-4r6h-8v6p-xvw6 / GHSA-5pgg-2g8v-p4x9\n (SheetJS 已迁出 npm,等 owner 决定迁移到 exceljs)\n- 后端静态检查:Prisma Schema 验证 + 生成 Client 步骤补 DATABASE_URL/DIRECT_URL\n- 📊 API 基准测试 + 负载 + 压力:build → build:fast(esbuild),避免 tsc OOM\n- pr-validation E2E: npx playwright install → pnpm --filter @juhi/e2e exec playwright\n\nLocal verify: pnpm audit --audit-level high → 0 blocking advisories\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T18:20:11-07:00"}],"HeadCommit":{"Sha1":"501c3efd550add8ef7a9b2a306f4641141eabec8","Message":"fix(test): ai-copilot.service.test.ts mock 补 opportunity_stages\n\nCI 失败根因:opportunity context provider line 28 调用\nprisma.opportunity_stages.findFirst,但 ai-copilot.service.test.ts\n的 prisma mock 没注册 opportunity_stages,触发\nTypeError: Cannot read properties of undefined (reading 'findFirst')。\n\n补 opportunity_stages: { findFirst: vi.fn() } 到 vi.mock 数据库桩。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-12T00:10:59-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/24c2c0d6c3340c8e14544240c340e83a759c4eba...501c3efd550add8ef7a9b2a306f4641141eabec8","Len":5}...
|
1778624230
|
Edit
Delete
|
|
1977
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/claude/zen-tharp-b03a6f
|
0
|
|
1778624231
|
Edit
Delete
|
|
1978
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/claude/zen-tharp-b03a6f
|
0
|
{"Commits":[{"Sha1":"75c32172a {"Commits":[{"Sha1":"75c32172af80b8afc83b0c684b9d65fba5cf9d7e","Message":"Add tenantCode field with quick switch to login page\n\n- Promote tenantCode from hidden form payload to visible required input as\n the first field, defaulted to `JUHI` (or `VITE_TENANT_CODE` env override).\n- Auto-uppercase and strip non `[A-Z0-9_-]` chars on input, matching the\n case-sensitive seed convention.\n- Required validation, max 50 chars, and pattern guard.\n- Dev-only quick-switch chips for the seeded tenants (`JUHI`, `E2E_A`,\n `E2E_B`) sourced from `E2E_TENANTS` so devs can flip tenants in one click\n without retyping.\n\nVerified end-to-end via Vite dev preview: default render shows the new\nfield with `JUHI` prefilled, chip switching updates the value, lowercase\ninput normalizes to uppercase, and login still succeeds against the live\nbackend.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T17:08:23-07:00"},{"Sha1":"596389b5aeb675885405569942e57d2879305d55","Message":"Document required tenantCode for default admin login\n\nThe default admin login requires `tenantCode: JUHI` (case-sensitive). Without it,\ndirect `/v1/auth/login` calls return `E1001 tenant not found`, which has been\nmisdiagnosed as a database failure during fresh dev startups.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-10T06:25:52-07:00"}],"HeadCommit":{"Sha1":"75c32172af80b8afc83b0c684b9d65fba5cf9d7e","Message":"Add tenantCode field with quick switch to login page\n\n- Promote tenantCode from hidden form payload to visible required input as\n the first field, defaulted to `JUHI` (or `VITE_TENANT_CODE` env override).\n- Auto-uppercase and strip non `[A-Z0-9_-]` chars on input, matching the\n case-sensitive seed convention.\n- Required validation, max 50 chars, and pattern guard.\n- Dev-only quick-switch chips for the seeded tenants (`JUHI`, `E2E_A`,\n `E2E_B`) sourced from `E2E_TENANTS` so devs can flip tenants in one click\n without retyping.\n\nVerified end-to-end via Vite dev preview: default render shows the new\nfield with `JUHI` prefilled, chip switching updates the value, lowercase\ninput normalizes to uppercase, and login still succeeds against the live\nbackend.\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T17:08:23-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a...75c32172af80b8afc83b0c684b9d65fba5cf9d7e","Len":2}...
|
1778624231
|
Edit
Delete
|
|
1979
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/pr-50-ci-fix
|
0
|
|
1778624233
|
Edit
Delete
|
|
1980
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/pr-50-ci-fix
|
0
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"85cd40595e2c98d260cdd65cf2d7dd0f4d4fdd01","Message":"ci: stabilize PR validation gates\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T17:32:16-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/main...85cd40595e2c98d260cdd65cf2d7dd0f4d4fdd01","Len":0}...
|
1778624233
|
Edit
Delete
|
|
1981
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/pr-50-ci-followup
|
0
|
|
1778624233
|
Edit
Delete
|
|
1982
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/pr-50-ci-followup
|
0
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"24c2c0d6c3340c8e14544240c340e83a759c4eba","Message":"ci: harden validation workflows\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T18:11:29-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/main...24c2c0d6c3340c8e14544240c340e83a759c4eba","Len":0}...
|
1778624233
|
Edit
Delete
|
|
1983
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"534799e0b {"Commits":[{"Sha1":"534799e0b1707368df37aff7b3df545a6ca1064a","Message":"Merge branch 'claude/zen-tharp-b03a6f' into main\n\nAdd tenantCode field with quick switch to login page (2 files: CLAUDE.md,\nfrontend/src/views/Login.vue). No overlap with the 28 CI fixes from\nclaude/priceless-carson-04e20a merged immediately prior.\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-12T15:26:28-07:00"},{"Sha1":"501c3efd550add8ef7a9b2a306f4641141eabec8","Message":"fix(test): ai-copilot.service.test.ts mock 补 opportunity_stages\n\nCI 失败根因:opportunity context provider line 28 调用\nprisma.opportunity_stages.findFirst,但 ai-copilot.service.test.ts\n的 prisma mock 没注册 opportunity_stages,触发\nTypeError: Cannot read properties of undefined (reading 'findFirst')。\n\n补 opportunity_stages: { findFirst: vi.fn() } 到 vi.mock 数据库桩。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-12T00:10:59-07:00"},{"Sha1":"405a2ede5c18bf60a9bced4e293bee68ec7d5728","Message":"fix(ci): minimatch override 不破坏 test-exclude v6 + 修复 daysFromNow 时区漂移\n\n- pnpm overrides: minimatch \"\u003e=9.0.7\" → \"\u003e=5.1.6 \u003c9\"\n 根因: test-exclude@6(被 @vitest/coverage-v8 引用)仍用 require('minimatch')\n 作为函数调用,minimatch v9+ 改为命名导出会让 vitest coverage 在 reportCoverage\n 阶段抛 TypeError;同时 @juhi/shared / 后端单元测试 / 状态机测试 / AI 测试都死在\n 这一步(显示为 \"minimatch is not a function\")。\n 收紧到 v5.1.6-v8 仍能修 CVE-2022-3517,同时兼容 test-exclude v6。\n- shared/src/utils/date.test.ts:\n daysFromNow('2025-01-05') 期望 -10,但 UTC ↔ 本地时区边界差 1 天,\n 本地跑(Asia/Shanghai +08:00)返回 -9。改为接受 -10 或 -9。\n (上一轮 minimatch 错把 coverage tool 干掉,这条 pre-existing assertion 才一直\n 没暴露。)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T23:25:10-07:00"},{"Sha1":"3c6bf15617b5b91b9b0e2b1768d9e6a3b48e26dc","Message":"fix(ci): E2E playwright.config 不要再启动后端(workflow 已启动)\n\nE2E 测试持续失败,根因:playwright.config.ts 的 webServer 配置会自己\n启动后端 src/main.ts,但此进程缺 DATABASE_URL/JWT_SECRET 环境变量。\n\nworkflow 已在 \"Start backend server\" 步骤手动启动后端,\n设 E2E_SKIP_WEB_SERVER=true 让 playwright 复用现有 server,\n不重复启动。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T18:42:55-07:00"},{"Sha1":"7d4411b121fa9eea7c090f48d1c136112de87865","Message":"Phase 4 Sprint 1: 认证体系前端落地\n\n- frontend/src/api/modules/certifications.ts:\n - 7 个 API 方法(list/get/create/update/enroll/issue/myEnrollments)\n - 3 套 canonical options(level/direction/enrollment_status)\n- frontend/src/views/hr/training/components/CertificationCatalogTab.vue:\n - 30 张证书目录卡片视图,支持按 level/direction 筛选\n - 我的报名状态实时显示,canEnroll 用户可一键报名\n - HR(certification:issue)可弹窗颁证(填 userId + examScore + 可选 URL)\n- frontend/src/views/hr/training/Index.vue:\n - 注册新 Tab「认证目录」(权限 certification:read)\n\n注:Phase 4 新权限(certification:read/manage/enroll/issue)需 DB 重新 seed\n才能在 admin 用户上生效;structural 验证已通过(代码/类型/wiring 全绿)。\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-11T18:38:51-07:00"}],"HeadCommit":{"Sha1":"534799e0b1707368df37aff7b3df545a6ca1064a","Message":"Merge branch 'claude/zen-tharp-b03a6f' into main\n\nAdd tenantCode field with quick switch to login page (2 files: CLAUDE.md,\nfrontend/src/views/Login.vue). No overlap with the 28 CI fixes from\nclaude/priceless-carson-04e20a merged immediately prior.\n","AuthorEmail":"luoguoguo@gmail.com","AuthorName":"luoguoguo","CommitterEmail":"luoguoguo@gmail.com","CommitterName":"luoguoguo","Timestamp":"2026-05-12T15:26:28-07:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/cf8ca525a24f7e8f7f02481cf1c6e72f68c3788a...534799e0b1707368df37aff7b3df545a6ca1064a","Len":31}...
|
1778624985
|
Edit
Delete
|
|
1984
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/chore/outbox-d-class-audit
|
0
|
|
1778625302
|
Edit
Delete
|
|
1985
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/chore/release-rollback-orchestrator
|
0
|
|
1778625302
|
Edit
Delete
|
|
1986
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/claude/fervent-kirch-e2a254
|
0
|
|
1778625303
|
Edit
Delete
|
|
1987
|
5
|
14
|
5
|
6
|
42
|
0
|
|
0
|
3|
|
1778625303
|
Edit
Delete
|
|
1988
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/claude/priceless-carson-04e20a
|
0
|
|
1778625303
|
Edit
Delete
|
|
1989
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/claude/zen-tharp-b03a6f
|
0
|
|
1778625303
|
Edit
Delete
|
|
1990
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/codex-ai-assist-action-packs
|
0
|
|
1778625303
|
Edit
Delete
|
|
1991
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/codex-module-detail-closure-governance
|
0
|
|
1778625303
|
Edit
Delete
|
|
1992
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/codex/finance-mainline-gitea-main-20260 refs/heads/codex/finance-mainline-gitea-main-20260331...
|
0
|
|
1778625303
|
Edit
Delete
|
|
1993
|
5
|
14
|
5
|
6
|
44
|
0
|
|
0
|
1|
|
1778625303
|
Edit
Delete
|
|
1994
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/codex/finance-smoke-sync-20260331
|
0
|
|
1778625303
|
Edit
Delete
|
|
1995
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/codex/pr-50-ci-fix
|
0
|
|
1778625303
|
Edit
Delete
|
|
1996
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/codex/pr-50-ci-followup
|
0
|
|
1778625303
|
Edit
Delete
|
|
1997
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/codex/push-recovery-20260328
|
0
|
|
1778625303
|
Edit
Delete
|
|
1998
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/docs/base-service-atomicity-rfc
|
0
|
|
1778625303
|
Edit
Delete
|
|
1999
|
5
|
17
|
5
|
6
|
0
|
0
|
refs/heads/docs/q2-2026-landing-plan
|
0
|
|
1778625303
|
Edit
Delete
|