|
1111
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/docs/base-service-atomicity-rfc
|
0
|
{"Commits":[{"Sha1":"7e9fa6922 {"Commits":[{"Sha1":"7e9fa692276960419fa95d57ebe7395c49960b4c","Message":"docs(rfcs): RFC-0001 BaseService 真正原子化 + D-class 深挖续集\n\n本 PR 是 #36(D-class 首轮盘点)的续集,包含:\n\n1. docs/governance/outbox-d-class-deep-dive-2026-04-17.md\n - 逐个人工判读 11 个\"待查 override\" D-class 文件:\n * 8 个良性(仅 input 预处理 + super.xxx)\n * 4 个预检查微竞态(findFirst 在事务外):expense-category, hr-competency,\n commission-rule, channels\n - 深查 finance-credits 的 4 处 this.model:\n * 🔴 确认为真实假绿(模式 B:数组事务 + 事务外 publishLifecycleEvent)\n * 4 处 publishLifecycleEvent 全在 txn([...]) 外,事件与数据写集彻底分裂\n - 归纳三类系统性假绿:\n * 模式 A:BaseService 架构级(crud.createOne 的 model.create 绕过 tx)\n * 模式 B:数组事务 + 事务外事件\n * 模式 C:业务前置 side-effect 非同事务\n - D-class 43 最终分类:22 真 D / 6 A-override / 8 良性 override / 4 微竞态\n / 2 真假绿(contract-templates + finance-credits)\n\n2. docs/rfcs/0001-base-service-atomicity.md\n - 针对三类假绿模式提出 3 个重构候选方案对比:\n * 方案 A:crud.* 新增 modelOnTx 参数(最小侵入,但类型不安全)\n * 方案 B:BaseService 泛型约束 modelKey,编译期类型锁定(推荐)\n * 方案 C:引入 UnitOfWork 抽象(大侵入,延后到 Q3)\n - 推荐采用方案 B,Sprint 2 Week 5-6 分阶段实施:\n * W5 基础设施:BaseService 泛型 + 22 真 D 文件迁移 + contract-templates /\n finance-credits 手动修复\n * W6 迁移 override:6 A-override + 8 良性 override + 4 微竞态\n * W6 审计升级:audit-outbox-atomicity.ts 新增 TX-BOUND-WRITE /\n ARRAY-TXN-WITH-EVENT / PRE-SIDE-EFFECT 三个判据\n - 含详细迁移风险矩阵与验收标准\n\n纯文档 PR,无代码变更。audit:outbox-atomicity 保持 A=1633/D=43/原子化率 100%\n(未退化)。\n\n关联:Q2 12 周落地计划 Sprint 1 · Data/Governance Squad + Backend Architect\n前序 PR #36(D-class 首轮盘点)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T11:32:29+08:00"}],"HeadCommit":{"Sha1":"7e9fa692276960419fa95d57ebe7395c49960b4c","Message":"docs(rfcs): RFC-0001 BaseService 真正原子化 + D-class 深挖续集\n\n本 PR 是 #36(D-class 首轮盘点)的续集,包含:\n\n1. docs/governance/outbox-d-class-deep-dive-2026-04-17.md\n - 逐个人工判读 11 个\"待查 override\" D-class 文件:\n * 8 个良性(仅 input 预处理 + super.xxx)\n * 4 个预检查微竞态(findFirst 在事务外):expense-category, hr-competency,\n commission-rule, channels\n - 深查 finance-credits 的 4 处 this.model:\n * 🔴 确认为真实假绿(模式 B:数组事务 + 事务外 publishLifecycleEvent)\n * 4 处 publishLifecycleEvent 全在 txn([...]) 外,事件与数据写集彻底分裂\n - 归纳三类系统性假绿:\n * 模式 A:BaseService 架构级(crud.createOne 的 model.create 绕过 tx)\n * 模式 B:数组事务 + 事务外事件\n * 模式 C:业务前置 side-effect 非同事务\n - D-class 43 最终分类:22 真 D / 6 A-override / 8 良性 override / 4 微竞态\n / 2 真假绿(contract-templates + finance-credits)\n\n2. docs/rfcs/0001-base-service-atomicity.md\n - 针对三类假绿模式提出 3 个重构候选方案对比:\n * 方案 A:crud.* 新增 modelOnTx 参数(最小侵入,但类型不安全)\n * 方案 B:BaseService 泛型约束 modelKey,编译期类型锁定(推荐)\n * 方案 C:引入 UnitOfWork 抽象(大侵入,延后到 Q3)\n - 推荐采用方案 B,Sprint 2 Week 5-6 分阶段实施:\n * W5 基础设施:BaseService 泛型 + 22 真 D 文件迁移 + contract-templates /\n finance-credits 手动修复\n * W6 迁移 override:6 A-override + 8 良性 override + 4 微竞态\n * W6 审计升级:audit-outbox-atomicity.ts 新增 TX-BOUND-WRITE /\n ARRAY-TXN-WITH-EVENT / PRE-SIDE-EFFECT 三个判据\n - 含详细迁移风险矩阵与验收标准\n\n纯文档 PR,无代码变更。audit:outbox-atomicity 保持 A=1633/D=43/原子化率 100%\n(未退化)。\n\n关联:Q2 12 周落地计划 Sprint 1 · Data/Governance Squad + Backend Architect\n前序 PR #36(D-class 首轮盘点)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T11:32:29+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7b47df3186db279cfc071517a6c034aa213d926d...7e9fa692276960419fa95d57ebe7395c49960b4c","Len":1}...
|
1776396760
|
Edit
Delete
|
|
1110
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/docs/base-service-atomicity-rfc
|
0
|
|
1776396760
|
Edit
Delete
|
|
1109
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/chore/outbox-d-class-audit
|
0
|
{"Commits":[{"Sha1":"b213d6b0c {"Commits":[{"Sha1":"b213d6b0c2dbf7d8a481f02c4a65e5fca8069a3d","Message":"docs(governance): Outbox D-class 43 处深度盘点 + 假绿告警\n\n对 audit:outbox-atomicity 计入\"已原子化\"的 43 个 D-class 文件(isBaseService=true\n且自身无 publishEvent 直接调用)做细粒度代码分析,按 override/this.model/tx.model/\ntransaction 四维分类,输出 docs/governance/outbox-d-class-audit-2026-04-17.md。\n\n关键发现:\n\n1. 🔴 contract-templates/contract-template.service.ts 存在 business-logic 竞态\n create/update/setDefault 在 super.create 之前用 this.model.updateMany 取消其他\n default,两者不在同一事务内;如 super.create 失败,留下\"默认被取消但新模板未\n 创建\"的数据不一致。\n\n2. 🟠 BaseService 架构级假绿(系统性问题)\n backend/src/shared/services/base.service.ts#L206 的 $transaction 回调把 tx 只\n 传给 publishEvent,而 crud.createOne 内部 model.create 用的是默认 prisma\n client,未绑定到 tx。结果:data 在独立连接上自动 commit,outbox 事件在外层 tx\n commit 时写入;publishEvent 失败时 data 已落库 outbox 丢事件。\n 此问题跨所有 BaseService 派生模块(43 D + 6 A-override),但 audit 脚本只看\n \"publishEvent 是否传 tx\"无法识别。\n\n3. ✅ 已正确原子化的 override 6 个(shipments/quotes/contracts/orders/\n price-books/invoice),override 了 CRUD 且全部用 tx.\u003cmodel\u003e.\u003cop\u003e。\n\n4. 🟡 11 个 override 文件需 Sprint 2 人工细查(override 存在但无直接写库命中,\n 多数可能只做业务前处理 + 调 super.xxx())。\n\n5. 🟡 finance-credits 4 处 this.model 无 override,应为查询类方法(非 CRUD),\n 需 Sprint 2 人工判读。\n\n本 PR 纯诊断输出,无代码变更,audit:outbox-atomicity 保持 A=1633/D=43/原子化率\n100%(未退化)。建议的修复动作按优先级归入 Q2 Sprint 2 路线:\n- P0: 修 contract-templates 竞态 + BaseService 架构级重构\n- P0: audit-outbox-atomicity.ts 新增 \"tx-bound data write\" 维度\n- P1: 细查 11 个 override / finance-credits\n\n关联:Q2 12 周落地计划 Sprint 1 · Data/Governance Squad · KR2.1\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T10:16:06+08:00"}],"HeadCommit":{"Sha1":"b213d6b0c2dbf7d8a481f02c4a65e5fca8069a3d","Message":"docs(governance): Outbox D-class 43 处深度盘点 + 假绿告警\n\n对 audit:outbox-atomicity 计入\"已原子化\"的 43 个 D-class 文件(isBaseService=true\n且自身无 publishEvent 直接调用)做细粒度代码分析,按 override/this.model/tx.model/\ntransaction 四维分类,输出 docs/governance/outbox-d-class-audit-2026-04-17.md。\n\n关键发现:\n\n1. 🔴 contract-templates/contract-template.service.ts 存在 business-logic 竞态\n create/update/setDefault 在 super.create 之前用 this.model.updateMany 取消其他\n default,两者不在同一事务内;如 super.create 失败,留下\"默认被取消但新模板未\n 创建\"的数据不一致。\n\n2. 🟠 BaseService 架构级假绿(系统性问题)\n backend/src/shared/services/base.service.ts#L206 的 $transaction 回调把 tx 只\n 传给 publishEvent,而 crud.createOne 内部 model.create 用的是默认 prisma\n client,未绑定到 tx。结果:data 在独立连接上自动 commit,outbox 事件在外层 tx\n commit 时写入;publishEvent 失败时 data 已落库 outbox 丢事件。\n 此问题跨所有 BaseService 派生模块(43 D + 6 A-override),但 audit 脚本只看\n \"publishEvent 是否传 tx\"无法识别。\n\n3. ✅ 已正确原子化的 override 6 个(shipments/quotes/contracts/orders/\n price-books/invoice),override 了 CRUD 且全部用 tx.\u003cmodel\u003e.\u003cop\u003e。\n\n4. 🟡 11 个 override 文件需 Sprint 2 人工细查(override 存在但无直接写库命中,\n 多数可能只做业务前处理 + 调 super.xxx())。\n\n5. 🟡 finance-credits 4 处 this.model 无 override,应为查询类方法(非 CRUD),\n 需 Sprint 2 人工判读。\n\n本 PR 纯诊断输出,无代码变更,audit:outbox-atomicity 保持 A=1633/D=43/原子化率\n100%(未退化)。建议的修复动作按优先级归入 Q2 Sprint 2 路线:\n- P0: 修 contract-templates 竞态 + BaseService 架构级重构\n- P0: audit-outbox-atomicity.ts 新增 \"tx-bound data write\" 维度\n- P1: 细查 11 个 override / finance-credits\n\n关联:Q2 12 周落地计划 Sprint 1 · Data/Governance Squad · KR2.1\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T10:16:06+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7b47df3186db279cfc071517a6c034aa213d926d...b213d6b0c2dbf7d8a481f02c4a65e5fca8069a3d","Len":1}...
|
1776392173
|
Edit
Delete
|
|
1108
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/chore/outbox-d-class-audit
|
0
|
|
1776392173
|
Edit
Delete
|
|
1107
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/feat/api-tests-bom-crud
|
0
|
{"Commits":[{"Sha1":"7031b8c0b {"Commits":[{"Sha1":"7031b8c0b8d37548dac36f74e76bc0e887ba8005","Message":"test(bom): 扩充 API 测试至完整 CRUD + 状态机 + 租户隔离\n\napi-test-coverage 审计之前将 bom 标为 probe-only (缺 detail/create/update/delete),\n仅覆盖 list / stats / auth401 三个浅层断言。本次扩充将 bom 升级至 complete-crud:\n\n覆盖维度:\n- create / detail / update / delete 全链路(含 draft 状态守卫)\n- 状态机:activate → update 被拒 / delete 被拒 / deactivate 回滚\n- 跨租户隔离:foreign tenant 对 detail / update / delete 均返回 404\n- auth401:未携带 token 请求返回 401\n- list / stats:保留原结构化响应校验\n\naudit:api-test-coverage 复跑验证 bom.status = \"complete-crud\",\ncoverage.list/detail/create/update/delete/stats/auth401 全部 true,\n覆盖 activate action。全量 complete-crud 模块数由 62 升至 63。\n\n⚠️ 本地 Docker daemon 未运行,依赖 postgres-test / redis-test 的 supertest\n执行未在本地跑通。依靠 GitHub Actions CI 的 e2e-tests.yml / migration-safety.yml\n在真实容器中执行验证。\n\nTypeScript 类型检查通过(tsc --noEmit 无 bom.test.ts 相关错误)。\n\n关联:Q2 12 周落地计划 Sprint 1 · Backend Quality Squad · KR2.2\n(API 测试覆盖 probe-only 93 → ≤ 20 / 完整 CRUD 62 → ≥ 140)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T10:03:09+08:00"}],"HeadCommit":{"Sha1":"7031b8c0b8d37548dac36f74e76bc0e887ba8005","Message":"test(bom): 扩充 API 测试至完整 CRUD + 状态机 + 租户隔离\n\napi-test-coverage 审计之前将 bom 标为 probe-only (缺 detail/create/update/delete),\n仅覆盖 list / stats / auth401 三个浅层断言。本次扩充将 bom 升级至 complete-crud:\n\n覆盖维度:\n- create / detail / update / delete 全链路(含 draft 状态守卫)\n- 状态机:activate → update 被拒 / delete 被拒 / deactivate 回滚\n- 跨租户隔离:foreign tenant 对 detail / update / delete 均返回 404\n- auth401:未携带 token 请求返回 401\n- list / stats:保留原结构化响应校验\n\naudit:api-test-coverage 复跑验证 bom.status = \"complete-crud\",\ncoverage.list/detail/create/update/delete/stats/auth401 全部 true,\n覆盖 activate action。全量 complete-crud 模块数由 62 升至 63。\n\n⚠️ 本地 Docker daemon 未运行,依赖 postgres-test / redis-test 的 supertest\n执行未在本地跑通。依靠 GitHub Actions CI 的 e2e-tests.yml / migration-safety.yml\n在真实容器中执行验证。\n\nTypeScript 类型检查通过(tsc --noEmit 无 bom.test.ts 相关错误)。\n\n关联:Q2 12 周落地计划 Sprint 1 · Backend Quality Squad · KR2.2\n(API 测试覆盖 probe-only 93 → ≤ 20 / 完整 CRUD 62 → ≥ 140)\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T10:03:09+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7b47df3186db279cfc071517a6c034aa213d926d...7031b8c0b8d37548dac36f74e76bc0e887ba8005","Len":1}...
|
1776391397
|
Edit
Delete
|
|
1106
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/feat/api-tests-bom-crud
|
0
|
|
1776391397
|
Edit
Delete
|
|
1105
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/fix/ticket-workflow-defs-format
|
0
|
{"Commits":[{"Sha1":"27f01c5f3 {"Commits":[{"Sha1":"27f01c5f3786ed44f603c6ca9a35156d956b1315","Message":"fix(ticket-workflows): workflow_defs 写链显式携带 format 字段\n\napproval-governance 审计通过 WORKFLOW_DEF_WRITE 正则扫描 workflow_defs.(create|update|upsert) 调用点后 800 字符范围,若未命中 `format:` 即判 BLOCKER。原 update 函数 updateData 未包含 format,BPMN/GRAPH_JSON 可能隐式漂移。\n\n本次修复:\n- schema.ts 新增 workflowFormatSchema 枚举(BPMN/GRAPH_JSON),createSchema/updateSchema body 加入 format 字段(create 默认 GRAPH_JSON,update 可选)\n- service.ts create/update 函数签名扩展 format 参数,写入 data 时显式落盘;update 未显式传入则保留 existing.format 而非隐式默认\n- docs.ts workflowSchema/createUpdateSchema 同步暴露 format 枚举,保证 OpenAPI 真源一致\n\n验证:\n- audit:approval-governance blockers=0 warnings=0 workflow_format_drift_files=0\n- audit:outbox-atomicity A=1633 / B=0 / C=0,原子化率 100%\n- ticket-workflow.service.test.ts 19/19 全通过\n- backend tsc --noEmit 无新增错误\n\n关联:Q2 12 周落地计划 Sprint 1 · Data Squad · KR2.1\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T09:53:33+08:00"}],"HeadCommit":{"Sha1":"27f01c5f3786ed44f603c6ca9a35156d956b1315","Message":"fix(ticket-workflows): workflow_defs 写链显式携带 format 字段\n\napproval-governance 审计通过 WORKFLOW_DEF_WRITE 正则扫描 workflow_defs.(create|update|upsert) 调用点后 800 字符范围,若未命中 `format:` 即判 BLOCKER。原 update 函数 updateData 未包含 format,BPMN/GRAPH_JSON 可能隐式漂移。\n\n本次修复:\n- schema.ts 新增 workflowFormatSchema 枚举(BPMN/GRAPH_JSON),createSchema/updateSchema body 加入 format 字段(create 默认 GRAPH_JSON,update 可选)\n- service.ts create/update 函数签名扩展 format 参数,写入 data 时显式落盘;update 未显式传入则保留 existing.format 而非隐式默认\n- docs.ts workflowSchema/createUpdateSchema 同步暴露 format 枚举,保证 OpenAPI 真源一致\n\n验证:\n- audit:approval-governance blockers=0 warnings=0 workflow_format_drift_files=0\n- audit:outbox-atomicity A=1633 / B=0 / C=0,原子化率 100%\n- ticket-workflow.service.test.ts 19/19 全通过\n- backend tsc --noEmit 无新增错误\n\n关联:Q2 12 周落地计划 Sprint 1 · Data Squad · KR2.1\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T09:53:33+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7b47df3186db279cfc071517a6c034aa213d926d...27f01c5f3786ed44f603c6ca9a35156d956b1315","Len":1}...
|
1776390832
|
Edit
Delete
|
|
1104
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/fix/ticket-workflow-defs-format
|
0
|
|
1776390832
|
Edit
Delete
|
|
1103
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/docs/q2-2026-landing-plan
|
0
|
{"Commits":[{"Sha1":"faf34a7bb {"Commits":[{"Sha1":"faf34a7bb942869bf4cc111c51215701378d2397","Message":"docs(playbook): 归档 Q2 12 周生产落地计划(三轴并行)\n\n- 三阶段路线图(4+4+4 周)覆盖治理债清零、SRE 加固、灰度 GA\n- 6 个 Squad 编制与 RACI,覆盖 SRE/Data/Backend/Frontend/AI/BI\n- 成功标准含 3 组 OKR 共 13 个 KR,均可度量\n- 验收包含 harness 审计命令、SLO 查询、灾难演练场景\n- 关键文件清单明确必须修改/新增/复用的路径\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T09:23:33+08:00"}],"HeadCommit":{"Sha1":"faf34a7bb942869bf4cc111c51215701378d2397","Message":"docs(playbook): 归档 Q2 12 周生产落地计划(三轴并行)\n\n- 三阶段路线图(4+4+4 周)覆盖治理债清零、SRE 加固、灰度 GA\n- 6 个 Squad 编制与 RACI,覆盖 SRE/Data/Backend/Frontend/AI/BI\n- 成功标准含 3 组 OKR 共 13 个 KR,均可度量\n- 验收包含 harness 审计命令、SLO 查询、灾难演练场景\n- 关键文件清单明确必须修改/新增/复用的路径\n\nCo-Authored-By: Claude Opus 4.7 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T09:23:33+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7b47df3186db279cfc071517a6c034aa213d926d...faf34a7bb942869bf4cc111c51215701378d2397","Len":1}...
|
1776389054
|
Edit
Delete
|
|
1102
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/docs/q2-2026-landing-plan
|
0
|
|
1776389054
|
Edit
Delete
|
|
1101
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7b47df318 {"Commits":[{"Sha1":"7b47df3186db279cfc071517a6c034aa213d926d","Message":"Merge gitea/main: harness/outbox/migration updates\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T08:50:00+08:00"},{"Sha1":"debdf5680e9bd056fb75e681e4d79cb74c02de9f","Message":"fix: override existing env vars in dev mode to prevent empty REDIS_PASSWORD issue\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-13T22:22:30+08:00"}],"HeadCommit":{"Sha1":"7b47df3186db279cfc071517a6c034aa213d926d","Message":"Merge gitea/main: harness/outbox/migration updates\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-17T08:50:00+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/fd1878b707f31b05ee314173ac91491adb28bc30...7b47df3186db279cfc071517a6c034aa213d926d","Len":2}...
|
1776387182
|
Edit
Delete
|
|
1072
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"fd1878b70 {"Commits":[{"Sha1":"fd1878b707f31b05ee314173ac91491adb28bc30","Message":"Tighten outbox atomicity and refresh readiness audits\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-15T15:00:11+08:00"}],"HeadCommit":{"Sha1":"fd1878b707f31b05ee314173ac91491adb28bc30","Message":"Tighten outbox atomicity and refresh readiness audits\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-15T15:00:11+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/110abcc02b429bfac3ebe16a02a876c0ba2f4f62...fd1878b707f31b05ee314173ac91491adb28bc30","Len":1}...
|
1776236457
|
Edit
Delete
|
|
1057
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"110abcc02 {"Commits":[{"Sha1":"110abcc02b429bfac3ebe16a02a876c0ba2f4f62","Message":"Implement Hermes-style harness context and fix alliance API tests\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-15T09:04:03+08:00"},{"Sha1":"e8baa3afde7621a8179f33a82639b86936d2242a","Message":"Improve Harness prompt assembly and context compression\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-15T08:23:29+08:00"}],"HeadCommit":{"Sha1":"110abcc02b429bfac3ebe16a02a876c0ba2f4f62","Message":"Implement Hermes-style harness context and fix alliance API tests\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-15T09:04:03+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/551c4d2e9b42cd14481ec48c3b2e2526cab4d58c...110abcc02b429bfac3ebe16a02a876c0ba2f4f62","Len":2}...
|
1776215055
|
Edit
Delete
|
|
1056
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"551c4d2e9 {"Commits":[{"Sha1":"551c4d2e9b42cd14481ec48c3b2e2526cab4d58c","Message":"Update governance docs and refresh harness baseline guidance\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-14T20:35:36+08:00"}],"HeadCommit":{"Sha1":"551c4d2e9b42cd14481ec48c3b2e2526cab4d58c","Message":"Update governance docs and refresh harness baseline guidance\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-14T20:35:36+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/204e3356f50776130b4976cf96f4deedfe36ab5f...551c4d2e9b42cd14481ec48c3b2e2526cab4d58c","Len":1}...
|
1776170150
|
Edit
Delete
|
|
1055
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"204e3356f {"Commits":[{"Sha1":"204e3356f50776130b4976cf96f4deedfe36ab5f","Message":"chore: add backend .env configuration\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-14T20:34:24+08:00"}],"HeadCommit":{"Sha1":"204e3356f50776130b4976cf96f4deedfe36ab5f","Message":"chore: add backend .env configuration\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-14T20:34:24+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7c66dac1fd83d4b9dc05198d7589827309ba5922...204e3356f50776130b4976cf96f4deedfe36ab5f","Len":1}...
|
1776170075
|
Edit
Delete
|
|
1054
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7c66dac1f {"Commits":[{"Sha1":"7c66dac1fd83d4b9dc05198d7589827309ba5922","Message":"fix(database): improve migration system with dedup, rollback strategy, and CI/CD\n\n- Fix 6 duplicate migration timestamps by adding _a/_b suffixes for deterministic ordering\n- Remove nested backend/backend/ directory anomaly (accidental copy)\n- Deprecate process-designer.prisma (models already merged in main schema)\n- Deprecate machine-specific create-extension.sh, point to portable alternatives\n- Create database-migration-guide-v2.md as single source of truth\n- Add rollback strategy generator for recent migrations (cross-platform)\n- Add CI/CD migration safety checks (7-point validation)\n- Add GitHub Actions workflow for automatic migration validation\n- Add legacy migration cleanup script to standardize on Prisma\n- Archive old migration guide with deprecation notice\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-14T20:18:15+08:00"}],"HeadCommit":{"Sha1":"7c66dac1fd83d4b9dc05198d7589827309ba5922","Message":"fix(database): improve migration system with dedup, rollback strategy, and CI/CD\n\n- Fix 6 duplicate migration timestamps by adding _a/_b suffixes for deterministic ordering\n- Remove nested backend/backend/ directory anomaly (accidental copy)\n- Deprecate process-designer.prisma (models already merged in main schema)\n- Deprecate machine-specific create-extension.sh, point to portable alternatives\n- Create database-migration-guide-v2.md as single source of truth\n- Add rollback strategy generator for recent migrations (cross-platform)\n- Add CI/CD migration safety checks (7-point validation)\n- Add GitHub Actions workflow for automatic migration validation\n- Add legacy migration cleanup script to standardize on Prisma\n- Archive old migration guide with deprecation notice\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-04-14T20:18:15+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/d2c68b13960de626f7a8d496bf1977d263eb7931...7c66dac1fd83d4b9dc05198d7589827309ba5922","Len":1}...
|
1776170068
|
Edit
Delete
|
|
829
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d2c68b139 {"Commits":[{"Sha1":"d2c68b13960de626f7a8d496bf1977d263eb7931","Message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-13T15:39:52+08:00"}],"HeadCommit":{"Sha1":"d2c68b13960de626f7a8d496bf1977d263eb7931","Message":"feat: 同步最新代码更改,包括后端API、前端组件、测试和报告更新\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-13T15:39:52+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/98cc8da660b8d4dba9887432490471d976c03f5f...d2c68b13960de626f7a8d496bf1977d263eb7931","Len":1}...
|
1776066083
|
Edit
Delete
|
|
786
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"98cc8da66 {"Commits":[{"Sha1":"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","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-13T00:24:31+08:00"}],"HeadCommit":{"Sha1":"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","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-13T00:24:31+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0...98cc8da660b8d4dba9887432490471d976c03f5f","Len":1}...
|
1776011085
|
Edit
Delete
|
|
785
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2e3188c85 {"Commits":[{"Sha1":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","Message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-12T21:30:41+08:00"},{"Sha1":"83f8b781d7305c9badf23edd7d8523a626a5a18c","Message":"Improve governance guidance and audit coverage\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-12T12:31:56+08:00"},{"Sha1":"5d02d3ff4d71ee63ba8c3bd03fe70b152daa2c33","Message":"Refactor governance baselines and remove obsolete module code\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-11T17:16:05+08:00"},{"Sha1":"1b6a3f7493a79f95a2db09aff9c57350ae135c1b","Message":"Harden create form coverage and fix broken create flows\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-11T13:18:09+08:00"},{"Sha1":"e224c0ecaa34df97ef5acd412d614a7362bfa6c3","Message":"Harden harness reporting and add regression tests\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-11T08:45:25+08:00"}],"HeadCommit":{"Sha1":"2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","Message":"feat: 更新项目配置和脚本\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"mluo@MluodeMacBook-Air.local","AuthorName":"Mluo","CommitterEmail":"mluo@MluodeMacBook-Air.local","CommitterName":"Mluo","Timestamp":"2026-04-12T21:30:41+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/9d69e1960ec649a49c0c6f307c0fc197f47ee4c4...2e3188c85a6cfc38ac7d3643b1cbbfc2e3e850d0","Len":29}...
|
1776001250
|
Edit
Delete
|
|
669
|
5
|
9
|
5
|
6
|
0
|
0
|
refs/tags/v1.0.0-RC1
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"84c900df1e544e4eb7070be9278918676c4aec69","Message":"Release(v1.0.0-RC1): 巨嗨全域智库 1.0.0 封版交付\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-04T17:53:20+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/0000000000000000000000000000000000000000...7f6c4805d0719ce236bfd86ac50cc40cc6f5e5c5","Len":0}...
|
1775181686
|
Edit
Delete
|
|
668
|
5
|
9
|
5
|
6
|
0
|
0
|
refs/tags/v1.0.0
|
0
|
{"Commits":null,"HeadCommit":{" {"Commits":null,"HeadCommit":{"Sha1":"bd59e5501292cb061719f669c7a7b7afd4f1a0b7","Message":"Prepare v1.0.0 release\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T17:33:01+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/0000000000000000000000000000000000000000...e1e571dea3e53faf951b331ac647da4b96e0d01b","Len":0}...
|
1775181685
|
Edit
Delete
|
|
667
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9d69e1960 {"Commits":[{"Sha1":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","Message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-03T09:41:29+08:00"},{"Sha1":"0152aae7b8ff9440c5f4e7aad113420208e6c304","Message":"Merge remote-tracking branch 'origin/codex/design-scalable-autopilot-os-architecture'\n\n# Conflicts:\n#\te2e/agents/playwright-agent/index.ts\n#\te2e/agents/playwright-agent/inspectors/index.ts\n#\te2e/agents/playwright-agent/reporters/backend-reporter.ts\n#\te2e/package.json\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-03T09:41:05+08:00"},{"Sha1":"e2587fae3d50e6ef7c30450199abd1bfc910a016","Message":"test(finance): add finance mainline smoke and harden invoice detail formatting","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"158980461+laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-31T13:47:05+08:00"},{"Sha1":"803578ebec2d6f4c0d00335c1f5c61067112d923","Message":"feat(e2e): add playwright agent mvp skeleton","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"158980461+laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-19T19:55:36+08:00"}],"HeadCommit":{"Sha1":"9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","Message":"Merge remote-tracking branch 'origin/codex/finance-smoke-sync-20260331'\n\n# Conflicts:\n#\tfrontend/src/views/invoices/Detail.vue\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-03T09:41:29+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/40dae5944f158653af8288a3f38b6c97e8ce9f06...9d69e1960ec649a49c0c6f307c0fc197f47ee4c4","Len":4}...
|
1775180534
|
Edit
Delete
|
|
666
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"40dae5944 {"Commits":[{"Sha1":"40dae5944f158653af8288a3f38b6c97e8ce9f06","Message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"noreply@github.com","CommitterName":"GitHub","Timestamp":"2026-04-02T22:53:05+08:00"},{"Sha1":"588c47ea1f151f20d7e919cd87a5b07385b02022","Message":"chore: 将 .env.production 加入 .gitignore 防止密钥泄露\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-04-02T14:47:51Z"},{"Sha1":"3b9130b7e0040b49d5bc08307c9e050175994903","Message":"feat: 单机 Docker 生产部署成功 - 全套本地构建方案\n\n新增本地部署配套文件:\n- docker-compose.local-prod.yml: 本地单机生产编排(pgvector + apache/kafka + minio + api + frontend + nginx)\n- backend/Dockerfile.local: 后端本地构建镜像(tsx 运行源码,避免路径别名问题)\n- frontend/Dockerfile.local: 前端本地构建镜像\n- .dockerignore.local: 本地构建专用忽略规则(保留 dist/node_modules)\n\n修改:\n- backend/prisma/schema/_base.prisma: 添加 binaryTargets linux-musl-openssl-3.0.x(Alpine 容器支持)\n\n部署验证通过:\n- PostgreSQL (pgvector:pg16) + Redis + Kafka + MinIO + API + Frontend + Nginx 全部在线\n- 135+ 数据库迁移全部应用成功\n- API /health 返回 {\"status\":\"ok\"}\n- Nginx HTTP→HTTPS 重定向正常,SSL 自签名证书工作\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-04-02T14:46:47Z"},{"Sha1":"a5244b9fafc440f46250c8a1b72b7fea82d6d1ef","Message":"chore: 部署准备 - 补齐 deploy/ssl 目录 + 修复 fast-xml-parser 缺失依赖\n\n- 创建 deploy/ssl/.gitkeep,确保 Nginx 生产环境 SSL 挂载目录存在\n- 添加 fast-xml-parser 依赖,修复微信企业号 webhook 模块的类型错误\n- 后端 tsc 0 错误 / 前端 vue-tsc 0 错误,类型检查双清零\n\nhttps://claude.ai/code/session_0178CfAo3ibEjsJuMqDCHR7X\n","AuthorEmail":"noreply@anthropic.com","AuthorName":"Claude","CommitterEmail":"noreply@anthropic.com","CommitterName":"Claude","Timestamp":"2026-04-02T14:04:59Z"}],"HeadCommit":{"Sha1":"40dae5944f158653af8288a3f38b6c97e8ce9f06","Message":"feat: 单机 Docker 生产部署 + 治理基线对齐 (#18)\n\nfeat: 单机 Docker 生产部署 + 治理基线对齐","AuthorEmail":"158980461+laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"noreply@github.com","CommitterName":"GitHub","Timestamp":"2026-04-02T22:53:05+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/624893ef324e57874ecb721dfd5539eb58d49b8e...40dae5944f158653af8288a3f38b6c97e8ce9f06","Len":4}...
|
1775180411
|
Edit
Delete
|
|
665
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"624893ef3 {"Commits":[{"Sha1":"624893ef324e57874ecb721dfd5539eb58d49b8e","Message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T06:59:18+08:00"},{"Sha1":"ad579baf8043eb72ed26d4b2750a83bf39888acf","Message":"Advance harness governance and align enum sources\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T06:46:31+08:00"},{"Sha1":"a11d601814a16c9221a3a43172d3ba80e47ab5d8","Message":"chore: refresh outbox and harness dashboard reports\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T06:45:42+08:00"},{"Sha1":"2b5617f7972d9e2e8d8714659d24a0629a387ff9","Message":"chore: clean up E2E reports and sync audit scripts\n\n- Remove stale playwright report artifacts\n- Update outbox-atomicity audit script\n- Refresh E2E auth session\n- Add new E2E test fixtures\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T06:45:27+08:00"},{"Sha1":"5276d7aba4c8e857b2fb6c26eb6445143fbf9802","Message":"fix: resolve remaining field-payload ERRORs and update audit reports\n\n- Fix 3 remaining field-payload ERROR (commissions/payments/price-books\n createSchema optional→required alignment)\n- Update geo-pois service and tests\n- Refresh all audit reports (enum/field-payload/outbox/type-debt)\n- Update governance docs and project documentation\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\n\nfield-payload: ERROR 3→0, WARNING 61 (stable)\nenum: ERROR 5 (audit mismatch), WARNING 14\nOutbox B-class: 3 (all passing tx — audit false positive)\nNon-test as any: 0 (all remaining are comments only)\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T06:45:05+08:00"}],"HeadCommit":{"Sha1":"624893ef324e57874ecb721dfd5539eb58d49b8e","Message":"fix(schema): annotate 47 Prisma String? fields + fix assembly types + sync E2E\n\n- Add @db.Text (18) and @db.VarChar(2000) (29) to all bare String?\n fields, eliminating 47 pre-commit Prisma warnings\n- Fix assembly.controller.ts 10 type errors using Parameters\u003c\u003e utility\n- Sync E2E test results and playwright reports\n- Update audit reports and governance docs\n\nGate: tsc 0 | vue-tsc 0 | 408 files 6410 tests 100%\nPre-commit Prisma warnings: 47 → 0\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T06:59:18+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7212eb23c82b2ecae9ea1f22fa928fc6382f842d...624893ef324e57874ecb721dfd5539eb58d49b8e","Len":6}...
|
1775097114
|
Edit
Delete
|
|
664
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"7212eb23c {"Commits":[{"Sha1":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","Message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T01:59:43+08:00"},{"Sha1":"f94b12e56bac07b085d726a5205b134f3b46d56c","Message":"fix: schema字段补齐 + 枚举审计补全 + leads N+1修复 + API测试扩展\n\n- 补齐 alliance-agreements/coupons/campaigns、community-tasks/bots、groupbuy-promotions 的 Zod schema 缺失字段\n- statuses.ts 新增审计补齐的枚举定义(ABM/approval/AR-ledger 等)\n- leads 列表去除 AI enrichment 避免 N+1 性能瓶颈\n- dashboard-cache 增加 destroy() 防止定时器泄漏,main.ts 注册关闭钩子\n- 扩展 assets/auth/financial-reports API 测试用例\n- 刷新 7 份审计报告\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T01:57:16+08:00"},{"Sha1":"83dba3313659e6cae54f44e9b5f92ed76cdc6930","Message":"fix(outbox): move publishEvent outside $transaction for 20 B-class calls\n\nEnsure Kafka events are only published after transaction commits\nsuccessfully, preventing phantom events on rollback.\n\nModules: customer-balance(6), rma(3), targets(2), swot(2), devices(1),\nproducts(1), renewals(1), ar-ledger(1), commission-settlement(1),\nserial-numbers(1), lead-collector(1 - already A-class on review)\n\nGate: tsc 0 | 408 files 6410 tests 100%\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T01:50:02+08:00"},{"Sha1":"030461be827686bdc356980b5b9194d818d792b9","Message":"Harden deployment checks and expand API coverage\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T01:41:49+08:00"},{"Sha1":"7502b39b876a708302cebd203aa34871ea2a5e1b","Message":"fix(docker): increase Node memory for frontend Vite build in Docker\n\nLarge project (735 JS chunks) needs more heap to avoid OOM during\nproduction build inside Alpine container.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T01:37:34+08:00"}],"HeadCommit":{"Sha1":"7212eb23c82b2ecae9ea1f22fa928fc6382f842d","Message":"feat(statuses): add 61 missing enum definitions to statuses.ts\n\nCentralize status enums that were previously only hardcoded in frontend\nviews. Reduces enum-consistency audit WARNING from 77 to 14 (-82%).\n\nCovers: assembly, asset, invoice, treasury, marketing, fulfillment,\npredictive-analytics, journey-orchestration, and 53 other modules.\n\nCo-Authored-By: Claude Opus 4.6 (1M context) \u003cnoreply@anthropic.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-04-02T01:59:43+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/46635b50050ba09e31518824f56b1e2176e7b0b7...7212eb23c82b2ecae9ea1f22fa928fc6382f842d","Len":15}...
|
1775066750
|
Edit
Delete
|
|
663
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"46635b500 {"Commits":[{"Sha1":"46635b50050ba09e31518824f56b1e2176e7b0b7","Message":"Harden invoice detail formatting and finance smoke coverage\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-31T10:44:07+08:00"},{"Sha1":"fb960500246fc412cf02a20cc0b316e9100eeb7f","Message":"Fix release gate type regressions in dashboard and query schemas\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T21:10:48+08:00"},{"Sha1":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","Message":"Harden role-based smoke flows and permission guards\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T20:59:20+08:00"},{"Sha1":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","Message":"Refine governance baselines and align module acceptance evidence\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T20:25:39+08:00"},{"Sha1":"8a7978e163a401654f636377fc9ca790391d8779","Message":"Fix role query transforms and update evidence reports\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:55:47+08:00"}],"HeadCommit":{"Sha1":"46635b50050ba09e31518824f56b1e2176e7b0b7","Message":"Harden invoice detail formatting and finance smoke coverage\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-31T10:44:07+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/dffb3332733fb56fd51632938c4379422125381c...46635b50050ba09e31518824f56b1e2176e7b0b7","Len":47}...
|
1774957472
|
Edit
Delete
|
|
662
|
5
|
23
|
-2
|
6
|
24
|
0
|
|
0
|
1|✅ E2E 测试通过!
|
1774950242
|
Edit
Delete
|
|
660
|
5
|
7
|
5
|
6
|
0
|
0
|
|
0
|
1|test(finance): add finance mainline smoke and ha 1|test(finance): add finance mainline smoke and harden invoice detail formatting...
|
1774950059
|
Edit
Delete
|
|
659
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/finance-mainline-gitea-main-20260 refs/heads/codex/finance-mainline-gitea-main-20260331...
|
0
|
{"Commits":[{"Sha1":"8c225d732 {"Commits":[{"Sha1":"8c225d73253fe95a23618816b2f7e6a03010cae4","Message":"test(finance): add finance mainline smoke\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-03-31T17:38:36+08:00"}],"HeadCommit":{"Sha1":"8c225d73253fe95a23618816b2f7e6a03010cae4","Message":"test(finance): add finance mainline smoke\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-03-31T17:38:36+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/615a7ad3acd756e166c477d55fff803749b7a2f9...8c225d73253fe95a23618816b2f7e6a03010cae4","Len":1}...
|
1774949918
|
Edit
Delete
|
|
658
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/finance-mainline-gitea-main-20260 refs/heads/codex/finance-mainline-gitea-main-20260331...
|
0
|
{"Commits":[{"Sha1":"615a7ad3a {"Commits":[{"Sha1":"615a7ad3acd756e166c477d55fff803749b7a2f9","Message":"fix(invoices): harden amount formatting against null\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-03-31T17:38:15+08:00"}],"HeadCommit":{"Sha1":"615a7ad3acd756e166c477d55fff803749b7a2f9","Message":"fix(invoices): harden amount formatting against null\n","AuthorEmail":"law@g-hi.com","AuthorName":"luoanwu","CommitterEmail":"law@g-hi.com","CommitterName":"luoanwu","Timestamp":"2026-03-31T17:38:15+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/dffb3332733fb56fd51632938c4379422125381c...615a7ad3acd756e166c477d55fff803749b7a2f9","Len":1}...
|
1774949897
|
Edit
Delete
|
|
657
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/finance-mainline-gitea-main-20260 refs/heads/codex/finance-mainline-gitea-main-20260331...
|
0
|
{"Commits":[],"HeadCommit":{"S {"Commits":[],"HeadCommit":{"Sha1":"dffb3332733fb56fd51632938c4379422125381c","Message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-31T13:19:02+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/main...dffb3332733fb56fd51632938c4379422125381c","Len":0}...
|
1774949878
|
Edit
Delete
|
|
656
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/finance-mainline-gitea-main-20260 refs/heads/codex/finance-mainline-gitea-main-20260331...
|
0
|
|
1774949878
|
Edit
Delete
|
|
648
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/finance-smoke-sync-20260331
|
0
|
{"Commits":[{"Sha1":"46635b500 {"Commits":[{"Sha1":"46635b50050ba09e31518824f56b1e2176e7b0b7","Message":"Harden invoice detail formatting and finance smoke coverage\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-31T10:44:07+08:00"},{"Sha1":"fb960500246fc412cf02a20cc0b316e9100eeb7f","Message":"Fix release gate type regressions in dashboard and query schemas\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T21:10:48+08:00"},{"Sha1":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","Message":"Harden role-based smoke flows and permission guards\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T20:59:20+08:00"},{"Sha1":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","Message":"Refine governance baselines and align module acceptance evidence\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T20:25:39+08:00"},{"Sha1":"8a7978e163a401654f636377fc9ca790391d8779","Message":"Fix role query transforms and update evidence reports\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:55:47+08:00"}],"HeadCommit":{"Sha1":"46635b50050ba09e31518824f56b1e2176e7b0b7","Message":"Harden invoice detail formatting and finance smoke coverage\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-31T10:44:07+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...46635b50050ba09e31518824f56b1e2176e7b0b7","Len":10}...
|
1774936619
|
Edit
Delete
|
|
647
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/codex/finance-smoke-sync-20260331
|
0
|
|
1774936618
|
Edit
Delete
|
|
625
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"dffb33327 {"Commits":[{"Sha1":"dffb3332733fb56fd51632938c4379422125381c","Message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-31T13:19:02+08:00"}],"HeadCommit":{"Sha1":"dffb3332733fb56fd51632938c4379422125381c","Message":"chore: 更新 Claude 配置与 AI Autopilot 测试输出\n\n- 更新 .claude/settings.json\n- 添加 6 次 AI Autopilot 测试运行结果 (prepare-ok + result)\n\nCo-authored-by: Qwen-Coder \u003cqwen-coder@alibabacloud.com\u003e\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-31T13:19:02+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/9901c454467cf62d4e127620f218a97bcca01629...dffb3332733fb56fd51632938c4379422125381c","Len":1}...
|
1774934355
|
Edit
Delete
|
|
624
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"9901c4544 {"Commits":[{"Sha1":"9901c454467cf62d4e127620f218a97bcca01629","Message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-31T10:08:45+08:00"},{"Sha1":"17eeeeca6840d3d7f84c9a6a381db62de7119483","Message":"feat(harness): add Harness Engineering v2.0 assets\n\nAdd 5 audit scripts (field-payload, enum-consistency, formrules-zod,\nresponse-columns, module-coverage), P0 chain E2E tests (53 cases),\nSLO monitoring configs, health check service, and vitest workspace\nunified configuration.\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-31T10:07:36+08:00"},{"Sha1":"89e359306a90610d4d24002ab2f8eacc70ee3cb6","Message":"feat(ai-agents): 完善模块全栈对齐 + 修复多租户隔离漏洞\n\n- fix(CRITICAL): multi-agent-collaboration 两处跨租户写入漏洞\n - updateSessionStatus 缺失 tenant_id 导致可跨租户篡改 session\n - addGroupMember 缺失 tenant_id 导致可跨租户修改 agent 协作标记\n- fix(Prisma↔Zod): workflow description .max(500)→.max(2000) 对齐 VarChar(2000)\n- fix(Zod): inputData 从 z.any() 改为 z.record(z.unknown()) (2处)\n- feat(statuses.ts): 补充 AI Agent/Task/Workflow 三组状态枚举+配置+转换规则\n- feat(types): 消除 7 处 any 类型,补充完整接口定义\n - AIAgentTrainingData/AIAgentMetrics/ListTrainingDataParams 等\n - CreateWorkflowInput steps/triggerConfig/errorHandling\n - IM 接口索引签名 any→unknown\n- feat(types): 新增 AITaskType(18值)/AITaskPriority(4值) 严格枚举\n- feat(types): AI_TASK_TYPE_OPTIONS 从 2 个补全到 18 个\n- feat(types): AI_TASK_STATUS_OPTIONS 补充 recovering 状态\n- feat(types): AI_AGENT_TYPE_OPTIONS 补充 ai_lead_collector\n- fix(types): CreateAIAgentInput.modelConfig 必填→可选对齐 Zod\n- fix(types): CreateTrainingDataInput.title 必填→可选对齐 Zod\n- fix(types): ListAITasksParams 补充 reviewStatus 字段\n- fix(types): WorkflowStepDefinition 字段名对齐 Zod (stepId/stepType/nextSteps)\n- refactor(router): 清理 458 行注释路由代码\n- feat(store): 补充 fetchOverviewStats/batchAssignTasks 方法\n- feat(llm-analyzer): 扩展为统一导出视觉/语义/转换三类 LLM 能力\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-31T09:57:09+08:00"}],"HeadCommit":{"Sha1":"9901c454467cf62d4e127620f218a97bcca01629","Message":"feat(harness): Harness Engineering v2.0 — 字段对齐四维清零 + 三层门禁 + 基础设施\n\n- 字段对齐四维清零: field-payload / enum-consistency / formrules-zod / response-columns 全部 0 ERROR\n- pre-commit 三层门禁: Fast(\u003c8s) / Smart(条件触发) / Deep(CI)\n- env Zod 校验: ~70 变量 fail-fast,生产环境加严\n- vitest workspace 统一: 5 套配置 → 1 套 (unit/api/integration)\n- process-adapter 类型修复: unknown → string 安全转换\n- shared/package.json: 新增 types/* 通配符导出\n- 152 文件变更,2642 插入 / 724 删除\n","AuthorEmail":"laoluojuhai@users.noreply.github.com","AuthorName":"laoluojuhai","CommitterEmail":"laoluojuhai@users.noreply.github.com","CommitterName":"laoluojuhai","Timestamp":"2026-03-31T10:08:45+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/fb960500246fc412cf02a20cc0b316e9100eeb7f...9901c454467cf62d4e127620f218a97bcca01629","Len":3}...
|
1774923478
|
Edit
Delete
|
|
623
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"fb9605002 {"Commits":[{"Sha1":"fb960500246fc412cf02a20cc0b316e9100eeb7f","Message":"Fix release gate type regressions in dashboard and query schemas\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T21:10:48+08:00"}],"HeadCommit":{"Sha1":"fb960500246fc412cf02a20cc0b316e9100eeb7f","Message":"Fix release gate type regressions in dashboard and query schemas\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T21:10:48+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a...fb960500246fc412cf02a20cc0b316e9100eeb7f","Len":1}...
|
1774876256
|
Edit
Delete
|
|
622
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1ce3f3ee5 {"Commits":[{"Sha1":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","Message":"Harden role-based smoke flows and permission guards\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T20:59:20+08:00"},{"Sha1":"704bdd5de0d4b0661c28286c0cbb71bae53e26cc","Message":"Refine governance baselines and align module acceptance evidence\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T20:25:39+08:00"}],"HeadCommit":{"Sha1":"1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","Message":"Harden role-based smoke flows and permission guards\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T20:59:20+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/8a7978e163a401654f636377fc9ca790391d8779...1ce3f3ee5a8099af3c2b00d92ab83aa31d4d803a","Len":2}...
|
1774875571
|
Edit
Delete
|
|
621
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"8a7978e16 {"Commits":[{"Sha1":"8a7978e163a401654f636377fc9ca790391d8779","Message":"Fix role query transforms and update evidence reports\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:55:47+08:00"}],"HeadCommit":{"Sha1":"8a7978e163a401654f636377fc9ca790391d8779","Message":"Fix role query transforms and update evidence reports\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:55:47+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/6794a93c73e1f0426557604cd3ba8f93a10e82f1...8a7978e163a401654f636377fc9ca790391d8779","Len":1}...
|
1774871763
|
Edit
Delete
|
|
620
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"6794a93c7 {"Commits":[{"Sha1":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","Message":"Normalize AI agent queries and harden dashboard fallbacks\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:42:18+08:00"}],"HeadCommit":{"Sha1":"6794a93c73e1f0426557604cd3ba8f93a10e82f1","Message":"Normalize AI agent queries and harden dashboard fallbacks\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:42:18+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/12913d4ccde98eafffea39e5821bd5d4c15aa868...6794a93c73e1f0426557604cd3ba8f93a10e82f1","Len":1}...
|
1774870949
|
Edit
Delete
|
|
619
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"12913d4cc {"Commits":[{"Sha1":"12913d4ccde98eafffea39e5821bd5d4c15aa868","Message":"Align AI agent filters and sync dev healthcheck guidance\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:21:19+08:00"}],"HeadCommit":{"Sha1":"12913d4ccde98eafffea39e5821bd5d4c15aa868","Message":"Align AI agent filters and sync dev healthcheck guidance\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:21:19+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/a255ed13fa907f9a1c0dc03afaa0038c6c432749...12913d4ccde98eafffea39e5821bd5d4c15aa868","Len":1}...
|
1774869697
|
Edit
Delete
|
|
618
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"a255ed13f {"Commits":[{"Sha1":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","Message":"Improve startup and deployment tooling\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:04:55+08:00"}],"HeadCommit":{"Sha1":"a255ed13fa907f9a1c0dc03afaa0038c6c432749","Message":"Improve startup and deployment tooling\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T19:04:55+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8...a255ed13fa907f9a1c0dc03afaa0038c6c432749","Len":1}...
|
1774868830
|
Edit
Delete
|
|
617
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2aeab72a3 {"Commits":[{"Sha1":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","Message":"Add AI autopilot test run artifacts\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T18:48:02+08:00"}],"HeadCommit":{"Sha1":"2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","Message":"Add AI autopilot test run artifacts\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T18:48:02+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/2cf3567367105da23ab10795975e05379e764f31...2aeab72a37f15a2a4572f7cf32d2c5e4f430a2e8","Len":1}...
|
1774867688
|
Edit
Delete
|
|
616
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"2cf356736 {"Commits":[{"Sha1":"2cf3567367105da23ab10795975e05379e764f31","Message":"Align order states and preload image docs guidance\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T18:16:12+08:00"}],"HeadCommit":{"Sha1":"2cf3567367105da23ab10795975e05379e764f31","Message":"Align order states and preload image docs guidance\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T18:16:12+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/1b7720d8bdc8f3778e6ad14715be746db29627af...2cf3567367105da23ab10795975e05379e764f31","Len":1}...
|
1774865781
|
Edit
Delete
|
|
615
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"1b7720d8b {"Commits":[{"Sha1":"1b7720d8bdc8f3778e6ad14715be746db29627af","Message":"Harden deploy checks and cache-aware production image builds\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T16:56:52+08:00"}],"HeadCommit":{"Sha1":"1b7720d8bdc8f3778e6ad14715be746db29627af","Message":"Harden deploy checks and cache-aware production image builds\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T16:56:52+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/d85951e777b951a8957f68cdbf1d581dc9c91479...1b7720d8bdc8f3778e6ad14715be746db29627af","Len":1}...
|
1774862378
|
Edit
Delete
|
|
614
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"d85951e77 {"Commits":[{"Sha1":"d85951e777b951a8957f68cdbf1d581dc9c91479","Message":"Fix deploy scripts for scaled API containers\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T13:22:12+08:00"}],"HeadCommit":{"Sha1":"d85951e777b951a8957f68cdbf1d581dc9c91479","Message":"Fix deploy scripts for scaled API containers\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T13:22:12+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/f2d6f50d81972cf5e93d657140a9a89b6e6189fb...d85951e777b951a8957f68cdbf1d581dc9c91479","Len":1}...
|
1774848148
|
Edit
Delete
|
|
613
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"f2d6f50d8 {"Commits":[{"Sha1":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","Message":"Export pre-deploy env vars for docker compose\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T13:19:14+08:00"}],"HeadCommit":{"Sha1":"f2d6f50d81972cf5e93d657140a9a89b6e6189fb","Message":"Export pre-deploy env vars for docker compose\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T13:19:14+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/a8f1896ed41a547563a11d929465e7a92cdec4e9...f2d6f50d81972cf5e93d657140a9a89b6e6189fb","Len":1}...
|
1774847975
|
Edit
Delete
|
|
612
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"a8f1896ed {"Commits":[{"Sha1":"a8f1896ed41a547563a11d929465e7a92cdec4e9","Message":"Fix pre-deploy check counters and ignore local prod assets\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T13:17:09+08:00"}],"HeadCommit":{"Sha1":"a8f1896ed41a547563a11d929465e7a92cdec4e9","Message":"Fix pre-deploy check counters and ignore local prod assets\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T13:17:09+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/4d1dd7b8c8604ad5b1f60158574ce50a60b0e82c...a8f1896ed41a547563a11d929465e7a92cdec4e9","Len":1}...
|
1774847838
|
Edit
Delete
|
|
611
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"4d1dd7b8c {"Commits":[{"Sha1":"4d1dd7b8c8604ad5b1f60158574ce50a60b0e82c","Message":"Fix tenant-safe refresh sessions and acceptance regressions\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T13:15:13+08:00"}],"HeadCommit":{"Sha1":"4d1dd7b8c8604ad5b1f60158574ce50a60b0e82c","Message":"Fix tenant-safe refresh sessions and acceptance regressions\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T13:15:13+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/3ccdb3e3d8a8734cc11324a89259df948523a812...4d1dd7b8c8604ad5b1f60158574ce50a60b0e82c","Len":1}...
|
1774847730
|
Edit
Delete
|
|
610
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/main
|
0
|
{"Commits":[{"Sha1":"3ccdb3e3d {"Commits":[{"Sha1":"3ccdb3e3d8a8734cc11324a89259df948523a812","Message":"Sync governance docs with tenantCode login and view snapshot\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T11:57:56+08:00"}],"HeadCommit":{"Sha1":"3ccdb3e3d8a8734cc11324a89259df948523a812","Message":"Sync governance docs with tenantCode login and view snapshot\n","AuthorEmail":"jh.sj@jhsjdeMac-Studio.local","AuthorName":"jh.sj","CommitterEmail":"jh.sj@jhsjdeMac-Studio.local","CommitterName":"jh.sj","Timestamp":"2026-03-30T11:57:56+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/1e14b41edac86496d70ac83d1cb3292fa0513af3...3ccdb3e3d8a8734cc11324a89259df948523a812","Len":1}...
|
1774844138
|
Edit
Delete
|