refactor: 近一周 PR 技术债清扫——构建产物出库+死代码移除(行为保持,ADR-0059/0073 口径不变) - #393
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (4)
📒 Files selected for processing (4)
💤 Files with no reviewable changes (2)
Included review availability: Your plan provides up to 10 included reviews per hour; 2 remain after this review. 📝 WalkthroughWalkthrough本次变更新增 Python 编译产物忽略规则,移除治理脚本中的冗余逻辑,并修正 SLI 周报脚本的抽样种子和 issue 创建失败处理。 Changes维护性清理
Suggested labels: 🚥 Pre-merge checks | ✅ 1 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (1 passed)
✨ Finishing Touches 💡 1🛠️ Fix failing CI checks 💡
🧪 Generate unit tests (beta)
Comment |
PR Summary by Qodo清理构建产物与治理脚本死代码
AI Description
Diagram
High-Level Assessment
Files changed (4)
|
Code Review by Qodo
1. ADR-0082 sign-off missing
|
adversary-gate(ADR-0067/0082)对 specs/** 任意变更(含缓存删除) fail-closed 要求 survived 审计。本卡为技术债清扫而非 spec 套件变更, 按保守原则不触发该审计面:specs/*/suite/__pycache__/*.pyc 暂留库, 作为已申报债务记录于 issue #392 与 PR 描述。 Card: #392 refactor: 构建产物出库 + 死代码移除(行为保持;近一周 PR 技债清扫) 来源 PR 复查发现物(#176..#390 全量复查): - 误提交 .pyc 出库:scripts/__pycache__(#230 引入)、 specs/IR-0004/suite/__pycache__(#338)、specs/ISSUE-263/suite/__pycache__(#336); 附 .gitignore(__pycache__/、*.pyc)防复发 - governance/metrics.py:移除恒未读局部 val(#253 引入,ADR-0073 计算库) - governance/dashboard-update.py:TemporaryDirectory with 块内 isdir 恒真检查删除 - scripts/sli-report.sh:X if False else 死分支简化 + die 后不可达 OR 链残串清理 (#184/#197-203/#357 落位文件,ADR-0059 口径零改动) 不改动:gate/verdict/drift 语义、workflow YAML、REPOS.yaml/治理数据、pinned SHA。 验证:python -m compileall(除既有 escalate-test-issue.py 语法错, 见 issue 392 另报);bash -n 全绿;governance/tests/test-*.sh 10 套全过; sli-report --self-test PASS=8 FAIL=0;yaml 解析 OK。 Card: #392 ADR: ADR-0059(SLI 口径保持)、ADR-0073(metrics/dashboard 纯函数契约保持) (注:specs/*/suite/__pycache__/*.pyc 经重估移出本 PR——adversary-gate 对 specs/** 变更类 fail-closed 要求 survived 审计;作为已申报债务留档 issue #392 与 PR 描述。)
85de256 to
0002321
Compare
|
重估记录:首版包含 specs/*/suite/pycache 的 .pyc 出库,触发 adversary-gate(ADR-0067/0082)对 specs/** 变更类的 fail-closed 阻断。按保守原则将 specs/** 路径移出本卡(分支已重写为 |
Card: #392
ADR: ADR-0059(SLI 口径零改动)、ADR-0073(metrics/dashboard 纯函数契约零改动)、ADR-0055(入口协议 C1 面惯例)
改了什么(近一周 PR 技债清扫——行为保持)
来源:2026-08-19 起 #176..#390 约 100 个 PR 全量复查后的机械技术债(每处均机械可证):
误提交构建产物出库(行为无影响):4 个
.pyc出库 +.gitignore(__pycache__/、*.pyc)防复发scripts/__pycache__/adr_index_map.cpython-311.pyc(feat(butler): ADR-0074 落地——孤儿标签移除 + deadman 双层触发 + hc.io 实配(ADR-0074) #230 引入)specs/*/suite/__pycache__/*.pyc(spec(IR-0004): IR-0004 Cloudbird-Software/.github#315 条款级规格 rev4(ADR-0050,红队四轮 survived) #338/feat(governance): T-14 机器化第一面 + 红队 required check 落地修正(W2-C3 .github#275,ADR-0083) #336)——经重估移出本 PR:adversary-gate 对 specs/** 变更类 fail-closed 要求 survived 审计;作为已申报债务留档governance/metrics.py(feat(dashboard): 指标采集器——逃逸双窗/台账/签署/误放行(W5-C4 .github#227,ADR-0073) #253 落位,ADR-0073 计算库):删除恒未读局部
val = {"current": cur, "previous": prev}——AST 扫描确认无引用,纯计算路径零变化governance/dashboard-update.py(feat(dashboard): 北极星对置顶组装+成本快照+human-brief 呈现(W5-C4 .github#227,ADR-0073) #254/W5-C4: 度量 dashboard 完整版(北极星对同屏 + 四类指标 + 板字段) #227 体系):删除
TemporaryDirectorywith 块内恒真防御if not os.path.isdir(td): return None——上下文管理器保证目录存在,属死代码scripts/sli-report.sh(feat: 自动合并 SLI 周报 + 每周抽样审计(P3-4,.github #98,ADR-0059) #184/fix: SLI 周报标签兜底(.github #98,ADR-0059) #197/fix: SLI 去标签依赖(.github #98,ADR-0059) #198/feat: SLI escape_rate 排除演练数据(.github #98,ADR-0059) #203/pm(P1-C4): IR-0005 验收报告 + 断链修复 + cnb-bridge bootstrap 豁免(ADR-0085) #357 落位,ADR-0059 口径):
seed = int(...) if False else hash(...)→ 死条件臂移除(表达式语义逐字等价)|| die "周报 issue 创建失败" \n || gh issue create ...残串清理:\n是字面转义'n'实参、尾段在 die 无条件 exit 2 下不可达——成功/失败出口均不变明确不碰
gate/conductor/drift 语义、workflow YAML、REPOS.yaml 与治理数据文件、pinned SHA、断言数量、
.trae-html-share-packages备份产物(ADR-0094 登记)。diff 共 8 文件 / +5 −5(另 4 个二进制 .pyc 删除),无重排格式 churn。怎么验证
python -m compileall触达文件全过(唯一失败=既有缺陷,见下"另行申报")bash -n scripts/sli-report.sh及 gate.yml 同款九脚本清单全绿governance/tests/test-*.sh10 套自测全过(board-fields 17 项 / cost-llm-channel 6/6 / drill 5 套 / ir0002 5/5 / w1c5 / metrics-groups 9/9 / metrics-northstar 10/10 / metrics-policy / metrics-wiring 20 项 / navigation 35 项)bash scripts/sli-report.sh --self-testPASS=8 FAIL=06336b276…与本地已验 commit 的 tree 逐字节一致(Git Data API 发布,blob SHA 本地 hash-object 校验一致)另行申报(发现但不动——非行为保持范畴)
scripts/escalate-test-issue.py存在 Python SyntaxError:L81 起 f-string 含未转义 ASCII 双引号("发现错误"),整文件不可解析,create/resolve 两子命令任何调用即启动崩溃(feat(ISSUE-263): W4-C1 conductor T5/T6 路由 (#282) #306/feat(ISSUE-263): W2-C4 holdout 注册/校验与上报回路 + W4-C1 T5/T6 路由 (#276) #307 引入路径)。修复属于行为变更,须单独卡评审。scripts/g060-escalation.pyL164 与前者 L191 的 dead-man 评论首字符为字面@$<owner>(f-string 内多余$),提醒不会 @ 生效。sli-report.sh抽样 seed 用加盐hash()(进程级随机),与注释"seed=ISO 周(可复现)"不符——换稳定 seed 会改变抽样结果,属行为变更。风险 / 回滚
回滚 = revert 单 squash commit。无 schema/口径/workflow 变更。