module-regression
Skill320 starsChanged 32 days agoMITView on GitHub
大项目模块间联动回归——一份 REGRESSION.md 回归台账登记"每个模块的下游消费者 + 可执行的回归验收命令",跨模块行为或依赖变化后按受影响范围回归,防"改一个模块悄悄弄坏其他模块"。判决靠退出码,不靠 AI 看着没问题。中文触发:模块回归、回归台账、回归审计、改A坏B、模块联动检查、影响面检查、模块牵连、下游验证、大项目改动检查。English triggers: module regression, regression ledger, impact regression audit, downstream verification.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- qshanx/docs-governanceword for word, first seen Oct 13, 2026
Other versions1 project uses a version of this.
Word for word · 1
- qshanx/docs-governance★ 253100% same
Edited · 0
None found.
Wrote their own version · 0
None found.
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository20 other files it gives its agents.
- AGENTS.mdAGENTS.md
- CLAUDE.mdCLAUDE.md
- agent-entrypointsSkill
- agent-workflow-governanceSkill
- architecture-docsSkill
- context-and-decisionsSkill
- docs-auditSkill
- docs-governanceSkill
- docs-maintenanceSkill
- docs-retroSkill
- docs-structureSkill
- domain-modelingSkill
- living-docs-governanceSkill
- module-governanceSkill
- product-evolutionSkill
- writing-for-agentsSkill
- change-impactSkill
- contract-firstSkill
- loop-design-checkSkill
- test-collaborationSkill
The file
Files
模块回归台账(module-regression)
治什么病
大项目里模块互相引用。改模块 A 时,AI 和人都只盯着 A 本身对不对,下游的 B、C 被悄悄改坏了没人知道——直到几天后 B 的产出数字对不上才发现。这是 AI 协作大项目里最高发、最晚爆雷的事故。
解法:一份回归台账(REGRESSION.md)+ 一个照单审计动作——跨模块行为或依赖变化后验证实际受影响的下游;局部实现修复只跑相关检查,不自动启动台账审计。
台账三要素(每个模块一段,缺一不可)
## 模块 03-店铺数据清洗
下游(谁依赖我):05-汇总、07-成品导出 <!-- 脚本从 import 生成,勿手改 -->
回归验收命令:pytest tests/test_03.py && python scripts/对账.py --module 03
联动规则:改我的对外行为 → 必须跑 05、07 的验收命令;只改内部实现且本模块验收绿 → 可豁免下游- 下游消费者——脚本从 import/调用关系生成,禁止手写。手写的依赖清单必然腐烂(变动最频繁、没人记得同步),生成的永远反映真实代码。
- 回归验收命令——台账的核心资产:每个模块一条"怎么证明我没坏"的可执行命令(pytest / 对账脚本 / golden sample diff)。没有这行,审计退化成"AI 看一眼说没问题"(把裁判权交给被告);有这行,判决就是退出码。
- 联动规则——改我 → 谁必须被验证;什么情况可豁免。
与 TESTS.md 的连接
REGRESSION.md 不再维护业务规则和测试缺口。已有 TEST-ID 时引用它;否则直接使用现有测试路径与命令,不为本轮验证补建 TESTS 或编号。例如:
关联测试点:TEST-ORDER-001、TEST-REFUND-003- 哪些规则必须被保护、测试处于什么状态、证据在哪:由
test-collaborationskill 和TESTS.md管理。 - 改了某模块后要重跑哪些模块、执行哪条命令:由本 skill 和
REGRESSION.md管理。 /regression-audit只按回归台账执行命令和报告退出码,不重复审查测试必要性。
台账纪律
- 验收命令优先"对账型"而非"断言型":锚外部事实(golden sample / 上游合计 / 财务勾稽),"测试全过"能被钻(改松断言、注水 mock),"和基准差异 < 0.01"钻不了。
- 下游列表只由重扫刷新:加了新 import → 重跑生成脚本,不许手补一行了事。
- 台账放项目根或
docs/,从CLAUDE.md挂指路牌(否则成孤儿文档没人读必烂)。
审计流程(跨模块影响或明确要求审计时)
Claude Code 可通过 /regression-audit 调用 regression-auditor;Codex / ChatGPT 直接调用 $module-regression,由当前 agent 承担同一“只跑、只报、不修”职责。宿主不同不改变退出码终审和红着不交付的边界。
- 列改动:
git status -s/git diff --name-only,对照台账定位改的是哪个(些)模块。 - 查联动:复用
change-impact的影响清单,并核对实际 diff、台账及当前调用关系;清单不是已验证结论,新增消费者不能漏验。 - 跑回归:本次相关的本模块检查和实际受影响下游的验收命令,记录退出码;不按目录或台账存在就全跑。
- 核对结果:全绿只证明已登记、已执行范围通过;列出未覆盖或未运行项,交付仍须满足原任务成功标准。任何一条红先定位原因;本次引入的问题修复后从第 3 步重跑,未解决的失败不计入通过。
- 红了怎么归因(控制变量,不靠猜):基线全绿 + 本次只改了 A + B 红 → 优先检查 A,并核对环境、依赖和输入是否一致,不能仅凭一次失败认定因果,顺着 B 验收命令的输出(对账差异行 / assert 信息)反查 A 碰到的交接字段。若 B 在改动前就红 = B 的旧债,不赖本次改动,标台账缺口另行处理。改动批次越小归因越准——一次改 5 个模块再跑,红了就说不清谁干的。台账应记「上次全绿的 commit」,保证归因有干净基线。
- 出审计摘要:改了哪个模块 / 跑了谁的回归 / 各自结果(命令 + 关键输出行)/ 豁免了谁及理由。
铁律(四条,违反任何一条审计无效)
- 判决 = 退出码,不是"看着没问题"。缺少可执行验收命令时如实报告未验证;可直接复用已有测试,不以补写台账为运行前提。
- 审计员只报不修:跑回归、报红绿;红了怎么修是改动者(主会话/人)的事——裁判不能下场踢球。
- 不以失败结果背书:本次引入的下游失败必须修复;基线旧失败或环境阻塞说明证据和边界,按项目已有交付门禁处理,不宣称全量通过。
- 保护实际行为:Bug 修复按风险复用或补充相关回归测试、类型/schema 检查或人工验证,并在回复说明结果。仅当测试入口、使用方法或重要覆盖范围变化时维护 TESTS;不强制新增 TEST-ID、LOG 或回归台账。
与相邻方法的边界(别混)
| 方法 | 管什么 | 文档 | 验证时机 |
| contract-first | 跨端接口(前后端 / 服务间字段契约) | CONTRACT.md | 集成对账 |
| test-collaboration | 测试资产、必要测试点、Bug 回归保护和证据 | TESTS.md | 测试资产或重要覆盖范围变化时 |
| module-regression | 同一代码库内模块间行为回归 | REGRESSION.md(下游 + 验收命令 + TEST-ID 引用) | 每次相关改动后 |
渐进采用
- 模块 < 3 个、或模块间零引用 → 不需要,别过度治理。
- 预警信号:反复发生“改 A 坏 B”、现有测试入口无法支撑下游验证时,再判断是否需要台账;单次事故不自动建档。
- 已有测试/对账脚本的项目:台账 = 把现成验收命令按模块归位登记,半天出第一版。
初始化与参数
- 默认按本次实际 diff 定位模块;指定模块时检查该模块及其受影响下游。没有台账时,复用
change-impact核实的调用关系及项目已有测试命令完成本轮验证,不强制新建台账;缺少依赖证据或可执行命令时报告未验证,不编造绿色结果。 - init 模式可以生成 REGRESSION 台账文档,不修改业务实现。先从真实 import/require/调用关系生成下游,记录生成命令;不把手写列表标成脚本生成。
- 从现有测试和对账脚本寻找验收命令候选,标待确认;没有命令的模块登记缺口,不能编造绿色结果。
- 使用
templates/REGRESSION.example.md,从项目 CLAUDE 挂入口。报告模块、命令、退出码、结论和未跑项;init 中新增的命令经确认后再审计;本轮复用项目既有命令不重复请求确认。
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

