principle-attack-the-premise
攻击前提
When two or more fixes that share one premise have failed the same gate, suspect the premise, not the fixes.
两个及以上共享同一前提的修复都撞上同一门禁失败时,怀疑前提,别怀疑修复。
Why: Each failure under a shared premise is evidence about the premise.
为什么: 共享前提下的每次失败,都是关于该前提的证据。
Pattern:
模式:
-
Write the premise down. The premise is the one sentence that every failed fix assumed.
-
Take a census before the next fix. Count the imbalance per actor. The census shows which actors hold the imbalance, not how large it is. Write the census as a rerunnable script per Build the Lever.
-
Read the skew. If the same few actors hold most of the imbalance on every run, something assigns them that role. Find what assigns the role. That assignment is the next “why” per Fix Root Causes.
-
Remove the asymmetry instead of compensating for it, per the Laziness Protocol. Rotate the role between actors, randomize the assignment, or move the role, so that no actor holds it on every run. A return path, a shared pool, a batched hand-off, or a periodic rebalance leaves the assignment in place and adds work on every run.
-
把前提写下来。 前提就是每个失败修复都假设的那一句话。
-
下次修复前先普查。 按 actor 统计失衡。普查说明谁握着失衡,不是有多大。按 Build the Lever 写成可重跑脚本。
-
读偏斜。 若每次跑都是那几个 actor 握着大部分失衡,说明有东西在分配这个角色。找出谁在分配。那次分配就是下一个「为什么」,按 Fix Root Causes。
-
去掉不对称,而不是补偿它,按 Laziness Protocol。在 actor 间轮换角色、随机化分配,或挪走角色,让没有谁每次都握着。回传路径、共享池、批量交接、定期再平衡,都是留下分配再每跑多干一截活。
Stop:
停下:
-
Do not start the next fix before the premise is written down and the census exists.
-
If the census is even across actors, the premise is not the cause. Look for the cause elsewhere and keep the census as evidence.
-
前提写下来、普查存在之前,别开始下一次修复。
-
若普查在 actor 间均匀,前提不是原因。到别处找原因,普查留作证据。
This principle is distinct from Redesign from First Principles, which rebuilds a design around a new requirement. It questions a fact the current design assumes.
本原则不同于 Redesign from First Principles(围绕新需求重建设计)。它质疑的是当前设计假设的一条事实。