|
1115
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/docs/sprint-1-retro
|
0
|
{"Commits":[{"Sha1":"56a7df27f {"Commits":[{"Sha1":"56a7df27f1e7a0b2b9f9136862a817427c4704be","Message":"docs(retro): Q2 Sprint 1 复盘 - 三类假绿发现与 Sprint 2 修订建议\n\n整合 Sprint 1 执行的 6 个 PR(#33-#38)产出,归档本 Sprint 的发现、\n对 Q2 12 周计划的影响、以及 Sprint 2 的修订建议。\n\nTL;DR:Sprint 1 原计划主题 \"BLOCKER 清零 + 底座加固\",实际完成 1 个\nBLOCKER + 挖出 3 类系统性假绿 + 完成 RFC + 自动化审计升级。最重大发现:\nHarness v5.3 宣称的 \"原子化率 100%\" 是建立在有漏洞的审计判据之上的\n虚假基线,V2 审计扫出 297 处 TX-BOUND-WRITE + 5 处 ARRAY-TXN-WITH-EVENT\n系统性假绿。\n\n文档内容:\n- 6 个 PR 的交付清单与净增(代码 +274 / 文档 +1145)\n- 三类假绿模式(A 架构级 / B 数组事务 / C 业务前置 side-effect)\n 及各自影响面统计\n- 其他发现:4 个预检查微竞态 / 8 个良性 override / 6 个 A-override\n- 原计划 vs 实际进度对比(实际只完成 Data Squad,其他 Squad 未启动)\n- 超出原计划范围的 7 项高价值交付\n- 对 Q2 12 周计划的修订建议:\n * 阶段 A 验收门新增 v2TxBoundWrite + v2ArrayTxnWithEvent = 0\n * Sprint 2 工作量重估(+30% 架构重构开销)\n * 推荐选项 B 并行分攻(Backend Architect 主攻架构 /\n SRE/Data 并行推进原计划 SRE 项)\n- 执行层面洞察:做对了什么 + 应该做得更好\n- Sprint 2 启动清单\n\n纯文档 PR,无代码变更。作为技术委员会评审 Sprint 2 走向的依据。\n\n关联:Q2 12 周落地计划 Sprint 1 收尾\n前序 PR: #33 (计划) / #34 (BLOCKER) / #35 (bom 测试) /\n #36 (D-class 盘点) / #37 (RFC) / #38 (审计升级)\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-17T13:59:46+08:00"}],"HeadCommit":{"Sha1":"56a7df27f1e7a0b2b9f9136862a817427c4704be","Message":"docs(retro): Q2 Sprint 1 复盘 - 三类假绿发现与 Sprint 2 修订建议\n\n整合 Sprint 1 执行的 6 个 PR(#33-#38)产出,归档本 Sprint 的发现、\n对 Q2 12 周计划的影响、以及 Sprint 2 的修订建议。\n\nTL;DR:Sprint 1 原计划主题 \"BLOCKER 清零 + 底座加固\",实际完成 1 个\nBLOCKER + 挖出 3 类系统性假绿 + 完成 RFC + 自动化审计升级。最重大发现:\nHarness v5.3 宣称的 \"原子化率 100%\" 是建立在有漏洞的审计判据之上的\n虚假基线,V2 审计扫出 297 处 TX-BOUND-WRITE + 5 处 ARRAY-TXN-WITH-EVENT\n系统性假绿。\n\n文档内容:\n- 6 个 PR 的交付清单与净增(代码 +274 / 文档 +1145)\n- 三类假绿模式(A 架构级 / B 数组事务 / C 业务前置 side-effect)\n 及各自影响面统计\n- 其他发现:4 个预检查微竞态 / 8 个良性 override / 6 个 A-override\n- 原计划 vs 实际进度对比(实际只完成 Data Squad,其他 Squad 未启动)\n- 超出原计划范围的 7 项高价值交付\n- 对 Q2 12 周计划的修订建议:\n * 阶段 A 验收门新增 v2TxBoundWrite + v2ArrayTxnWithEvent = 0\n * Sprint 2 工作量重估(+30% 架构重构开销)\n * 推荐选项 B 并行分攻(Backend Architect 主攻架构 /\n SRE/Data 并行推进原计划 SRE 项)\n- 执行层面洞察:做对了什么 + 应该做得更好\n- Sprint 2 启动清单\n\n纯文档 PR,无代码变更。作为技术委员会评审 Sprint 2 走向的依据。\n\n关联:Q2 12 周落地计划 Sprint 1 收尾\n前序 PR: #33 (计划) / #34 (BLOCKER) / #35 (bom 测试) /\n #36 (D-class 盘点) / #37 (RFC) / #38 (审计升级)\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-17T13:59:46+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7b47df3186db279cfc071517a6c034aa213d926d...56a7df27f1e7a0b2b9f9136862a817427c4704be","Len":1}...
|
1776405595
|
Edit
Delete
|
|
1114
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/docs/sprint-1-retro
|
0
|
|
1776405595
|
Edit
Delete
|
|
1113
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/feat/audit-outbox-tx-bound
|
0
|
{"Commits":[{"Sha1":"8a95110c2 {"Commits":[{"Sha1":"8a95110c2f089d5e800363910dee9bd22993258c","Message":"feat(audit): outbox-atomicity 新增 V2 判据 TX-BOUND-WRITE / ARRAY-TXN-WITH-EVENT\n\n对应 RFC-0001(BaseService 真正原子化)的审计脚本升级。在保留原有\nA/B/C/D 四分类判据不变的前提下,新增两类 WARNING 级判据暴露 Sprint 1 手工\n盘点中发现的两类系统性假绿:\n\n1. TX-BOUND-WRITE(模式 A · BaseService 架构级)\n - 扫描任一含 publishEvent/publishLifecycleEvent 调用的 service 文件\n - 对所有 this.model.\u003cwrite\u003e / prisma.\u003cmodel\u003e.\u003cwrite\u003e 出现位置,若其不在\n 任何 $transaction 回调 / tx-helper 函数范围内,记为 TX-BOUND-WRITE\n - 语义:data write 在默认 prisma client 上执行(未绑定 tx),publishEvent\n 失败或 tx 回滚时数据与事件会分裂\n\n2. ARRAY-TXN-WITH-EVENT(模式 B · 数组事务 + 事务外事件)\n - 扫描 prisma.$transaction([...]) / txn([...]) 数组形式事务\n - 若其所在方法体内(数组事务结束行之后)还有事务外的 publishEvent /\n publishLifecycleEvent 调用,则判 ARRAY-TXN-WITH-EVENT\n - 语义:数组事务无法传递 tx 客户端,后续事件必然独立事务\n\n输出设计:\n- V2 判据默认输出为 WARNING 级(不阻塞 CI),summary 新增\n v2TxBoundWrite / v2ArrayTxnWithEvent 两个计数\n- JSON 报告新增 v2Findings 数组记录 {ruleId, severity, file, line, code, hint}\n- 控制台输出前 15 条 finding,其余存档 JSON\n- 新增 --strict-v2 flag(B+C 为 0 时才触发),Sprint 2 完成迁移后可启用为\n 硬门禁\n\n首次运行结果(main HEAD):\n- A=1633 / B=0 / C=0 / D=43 / 原子化率 100%(未退化)\n- TX-BOUND-WRITE: 297 命中(顶部文件 groupbuy-influencers=20 /\n supply-chain-platform=19 / geo-keywords=10 / price-books=10 /\n finance-credits=9)\n- ARRAY-TXN-WITH-EVENT: 5 命中(finance-credits 4 处 + 新发现\n price-books 1 处)\n\nARRAY-TXN-WITH-EVENT 5 处 100% 对应 Sprint 1 手工盘点(finance-credits 4 处\n+ 1 处 price-books 新发现),印证规则精度高。TX-BOUND-WRITE 297 处为 Sprint 2\n架构级迁移的全量攻击清单。\n\ntsc --noEmit 无新增错误。\n\n关联:Q2 Sprint 1 · Backend Architect RFC-0001 预研\n前序:#36 D-class 首轮盘点 / #37 D-class 深挖 + RFC-0001\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-17T13:14:22+08:00"}],"HeadCommit":{"Sha1":"8a95110c2f089d5e800363910dee9bd22993258c","Message":"feat(audit): outbox-atomicity 新增 V2 判据 TX-BOUND-WRITE / ARRAY-TXN-WITH-EVENT\n\n对应 RFC-0001(BaseService 真正原子化)的审计脚本升级。在保留原有\nA/B/C/D 四分类判据不变的前提下,新增两类 WARNING 级判据暴露 Sprint 1 手工\n盘点中发现的两类系统性假绿:\n\n1. TX-BOUND-WRITE(模式 A · BaseService 架构级)\n - 扫描任一含 publishEvent/publishLifecycleEvent 调用的 service 文件\n - 对所有 this.model.\u003cwrite\u003e / prisma.\u003cmodel\u003e.\u003cwrite\u003e 出现位置,若其不在\n 任何 $transaction 回调 / tx-helper 函数范围内,记为 TX-BOUND-WRITE\n - 语义:data write 在默认 prisma client 上执行(未绑定 tx),publishEvent\n 失败或 tx 回滚时数据与事件会分裂\n\n2. ARRAY-TXN-WITH-EVENT(模式 B · 数组事务 + 事务外事件)\n - 扫描 prisma.$transaction([...]) / txn([...]) 数组形式事务\n - 若其所在方法体内(数组事务结束行之后)还有事务外的 publishEvent /\n publishLifecycleEvent 调用,则判 ARRAY-TXN-WITH-EVENT\n - 语义:数组事务无法传递 tx 客户端,后续事件必然独立事务\n\n输出设计:\n- V2 判据默认输出为 WARNING 级(不阻塞 CI),summary 新增\n v2TxBoundWrite / v2ArrayTxnWithEvent 两个计数\n- JSON 报告新增 v2Findings 数组记录 {ruleId, severity, file, line, code, hint}\n- 控制台输出前 15 条 finding,其余存档 JSON\n- 新增 --strict-v2 flag(B+C 为 0 时才触发),Sprint 2 完成迁移后可启用为\n 硬门禁\n\n首次运行结果(main HEAD):\n- A=1633 / B=0 / C=0 / D=43 / 原子化率 100%(未退化)\n- TX-BOUND-WRITE: 297 命中(顶部文件 groupbuy-influencers=20 /\n supply-chain-platform=19 / geo-keywords=10 / price-books=10 /\n finance-credits=9)\n- ARRAY-TXN-WITH-EVENT: 5 命中(finance-credits 4 处 + 新发现\n price-books 1 处)\n\nARRAY-TXN-WITH-EVENT 5 处 100% 对应 Sprint 1 手工盘点(finance-credits 4 处\n+ 1 处 price-books 新发现),印证规则精度高。TX-BOUND-WRITE 297 处为 Sprint 2\n架构级迁移的全量攻击清单。\n\ntsc --noEmit 无新增错误。\n\n关联:Q2 Sprint 1 · Backend Architect RFC-0001 预研\n前序:#36 D-class 首轮盘点 / #37 D-class 深挖 + RFC-0001\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-17T13:14:22+08:00"},"CompareURL":"luoanwu/juhi-omni-knowledge-hub/compare/7b47df3186db279cfc071517a6c034aa213d926d...8a95110c2f089d5e800363910dee9bd22993258c","Len":1}...
|
1776402871
|
Edit
Delete
|
|
1112
|
5
|
5
|
5
|
6
|
0
|
0
|
refs/heads/feat/audit-outbox-tx-bound
|
0
|
|
1776402871
|
Edit
Delete
|
|
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
|
|
1100
|
11
|
6
|
1
|
18
|
0
|
0
|
|
0
|
42|🔍 代码审查报告:pc-260519 - dist打包
|
1776251922
|
Edit
Delete
|
|
1099
|
10
|
6
|
1
|
18
|
0
|
0
|
|
0
|
42|🔍 代码审查报告:pc-260519 - dist打包
|
1776251922
|
Edit
Delete
|
|
1095
|
9
|
6
|
1
|
18
|
0
|
0
|
|
0
|
42|🔍 代码审查报告:pc-260519 - dist打包
|
1776251922
|
Edit
Delete
|
|
1098
|
8
|
6
|
1
|
18
|
0
|
0
|
|
0
|
42|🔍 代码审查报告:pc-260519 - dist打包
|
1776251922
|
Edit
Delete
|
|
1097
|
7
|
6
|
1
|
18
|
0
|
0
|
|
0
|
42|🔍 代码审查报告:pc-260519 - dist打包
|
1776251922
|
Edit
Delete
|
|
1096
|
3
|
6
|
1
|
18
|
0
|
0
|
|
0
|
42|🔍 代码审查报告:pc-260519 - dist打包
|
1776251922
|
Edit
Delete
|
|
1094
|
1
|
6
|
1
|
18
|
0
|
0
|
|
0
|
42|🔍 代码审查报告:pc-260519 - dist打包
|
1776251922
|
Edit
Delete
|
|
1087
|
11
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"75f055c2f {"Commits":[{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"}],"HeadCommit":{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"},"CompareURL":"vodtest/pc/compare/51cc21548a54b54fc06b91cacbc3e3eb45364e29...75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Len":1}...
|
1776251849
|
Edit
Delete
|
|
1093
|
10
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"75f055c2f {"Commits":[{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"}],"HeadCommit":{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"},"CompareURL":"vodtest/pc/compare/51cc21548a54b54fc06b91cacbc3e3eb45364e29...75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Len":1}...
|
1776251849
|
Edit
Delete
|
|
1088
|
9
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"75f055c2f {"Commits":[{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"}],"HeadCommit":{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"},"CompareURL":"vodtest/pc/compare/51cc21548a54b54fc06b91cacbc3e3eb45364e29...75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Len":1}...
|
1776251849
|
Edit
Delete
|
|
1092
|
8
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"75f055c2f {"Commits":[{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"}],"HeadCommit":{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"},"CompareURL":"vodtest/pc/compare/51cc21548a54b54fc06b91cacbc3e3eb45364e29...75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Len":1}...
|
1776251849
|
Edit
Delete
|
|
1091
|
7
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"75f055c2f {"Commits":[{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"}],"HeadCommit":{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"},"CompareURL":"vodtest/pc/compare/51cc21548a54b54fc06b91cacbc3e3eb45364e29...75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Len":1}...
|
1776251849
|
Edit
Delete
|
|
1090
|
3
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"75f055c2f {"Commits":[{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"}],"HeadCommit":{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"},"CompareURL":"vodtest/pc/compare/51cc21548a54b54fc06b91cacbc3e3eb45364e29...75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Len":1}...
|
1776251849
|
Edit
Delete
|
|
1089
|
1
|
5
|
11
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"75f055c2f {"Commits":[{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"}],"HeadCommit":{"Sha1":"75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Message":"dist打包\n","AuthorEmail":"1091045324@qq.com","AuthorName":"caihongyuchy","CommitterEmail":"1091045324@qq.com","CommitterName":"caihongyuchy","Timestamp":"2026-04-15T19:14:15+08:00"},"CompareURL":"vodtest/pc/compare/51cc21548a54b54fc06b91cacbc3e3eb45364e29...75f055c2f1488c1c9d7fe9d225c5894998ea14fd","Len":1}...
|
1776251849
|
Edit
Delete
|
|
1086
|
11
|
6
|
1
|
18
|
0
|
0
|
|
0
|
41|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776237669
|
Edit
Delete
|
|
1085
|
10
|
6
|
1
|
18
|
0
|
0
|
|
0
|
41|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776237669
|
Edit
Delete
|
|
1081
|
9
|
6
|
1
|
18
|
0
|
0
|
|
0
|
41|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776237669
|
Edit
Delete
|
|
1084
|
8
|
6
|
1
|
18
|
0
|
0
|
|
0
|
41|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776237669
|
Edit
Delete
|
|
1083
|
7
|
6
|
1
|
18
|
0
|
0
|
|
0
|
41|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776237669
|
Edit
Delete
|
|
1082
|
3
|
6
|
1
|
18
|
0
|
0
|
|
0
|
41|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776237669
|
Edit
Delete
|
|
1080
|
1
|
6
|
1
|
18
|
0
|
0
|
|
0
|
41|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776237669
|
Edit
Delete
|
|
1079
|
11
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"51cc21548 {"Commits":[{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"}],"HeadCommit":{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"},"CompareURL":"vodtest/pc/compare/c4ab834d36a688468e5cda7ca2c1bb79ea9880ef...51cc21548a54b54fc06b91cacbc3e3eb45364e29","Len":1}...
|
1776237585
|
Edit
Delete
|
|
1078
|
10
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"51cc21548 {"Commits":[{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"}],"HeadCommit":{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"},"CompareURL":"vodtest/pc/compare/c4ab834d36a688468e5cda7ca2c1bb79ea9880ef...51cc21548a54b54fc06b91cacbc3e3eb45364e29","Len":1}...
|
1776237585
|
Edit
Delete
|
|
1074
|
9
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"51cc21548 {"Commits":[{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"}],"HeadCommit":{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"},"CompareURL":"vodtest/pc/compare/c4ab834d36a688468e5cda7ca2c1bb79ea9880ef...51cc21548a54b54fc06b91cacbc3e3eb45364e29","Len":1}...
|
1776237585
|
Edit
Delete
|
|
1077
|
8
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"51cc21548 {"Commits":[{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"}],"HeadCommit":{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"},"CompareURL":"vodtest/pc/compare/c4ab834d36a688468e5cda7ca2c1bb79ea9880ef...51cc21548a54b54fc06b91cacbc3e3eb45364e29","Len":1}...
|
1776237585
|
Edit
Delete
|
|
1073
|
7
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"51cc21548 {"Commits":[{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"}],"HeadCommit":{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"},"CompareURL":"vodtest/pc/compare/c4ab834d36a688468e5cda7ca2c1bb79ea9880ef...51cc21548a54b54fc06b91cacbc3e3eb45364e29","Len":1}...
|
1776237585
|
Edit
Delete
|
|
1076
|
3
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"51cc21548 {"Commits":[{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"}],"HeadCommit":{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"},"CompareURL":"vodtest/pc/compare/c4ab834d36a688468e5cda7ca2c1bb79ea9880ef...51cc21548a54b54fc06b91cacbc3e3eb45364e29","Len":1}...
|
1776237585
|
Edit
Delete
|
|
1075
|
1
|
5
|
7
|
18
|
0
|
0
|
refs/heads/pc-260519
|
0
|
{"Commits":[{"Sha1":"51cc21548 {"Commits":[{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"}],"HeadCommit":{"Sha1":"51cc21548a54b54fc06b91cacbc3e3eb45364e29","Message":"自助报表新增预购商品类型\n","AuthorEmail":"11833999+littlemaidi@user.noreply.gitee.com","AuthorName":"LITTLEMAIDI","CommitterEmail":"11833999+littlemaidi@user.noreply.gitee.com","CommitterName":"LITTLEMAIDI","Timestamp":"2026-04-15T15:19:38+08:00"},"CompareURL":"vodtest/pc/compare/c4ab834d36a688468e5cda7ca2c1bb79ea9880ef...51cc21548a54b54fc06b91cacbc3e3eb45364e29","Len":1}...
|
1776237585
|
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
|
|
1071
|
11
|
6
|
1
|
18
|
0
|
0
|
|
0
|
40|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776235595
|
Edit
Delete
|
|
1070
|
10
|
6
|
1
|
18
|
0
|
0
|
|
0
|
40|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776235595
|
Edit
Delete
|
|
1066
|
9
|
6
|
1
|
18
|
0
|
0
|
|
0
|
40|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776235595
|
Edit
Delete
|
|
1069
|
8
|
6
|
1
|
18
|
0
|
0
|
|
0
|
40|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776235595
|
Edit
Delete
|
|
1068
|
7
|
6
|
1
|
18
|
0
|
0
|
|
0
|
40|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776235595
|
Edit
Delete
|
|
1067
|
3
|
6
|
1
|
18
|
0
|
0
|
|
0
|
40|🔍 代码审查报告:pc-260519 - 自助报表新增预购商品类型
|
1776235595
|
Edit
Delete
|