Private
Public Access
feat(directives): scavenge superpowers plugin (test-driven-development, systematic-debugging): 6 directives
This commit is contained in:
@@ -0,0 +1,8 @@
|
||||
# three_fix_failures_question_architecture
|
||||
|
||||
## v1
|
||||
|
||||
**Why this iteration:** Lifted from the global OpenCode superpowers plugin (obra/superpowers) — `skills/systematic-debugging/SKILL.md`. The directive encodes Phase 4.5 (lines 199-213) plus the two red flags at lines 227-228. Counterweight to the LLM default of "one more fix attempt" past two failures, which is sunk-cost driven and signal-blind. After three failures, the architectural question is the right next step, not Fix #4.
|
||||
**Source:** superpowers plugin `skills/systematic-debugging/SKILL.md:199-213` (Phase 4.5: If 3+ Fixes Failed) + `:227-228` (Red Flags)
|
||||
|
||||
**Lifted:** 2026-07-04 (scavenge sweep: superpowers plugin directives)
|
||||
@@ -0,0 +1,45 @@
|
||||
# After three failed fixes, stop and question the architecture — the pattern is wrong, not the line of code
|
||||
|
||||
## The rule
|
||||
|
||||
If three or more fix attempts have failed to resolve a bug (each fix revealing a new problem in a different place, each fix requiring "massive refactoring" to implement, each fix creating new symptoms elsewhere), the pattern is wrong, not the code. STOP attempting Fix #4 without architectural discussion.
|
||||
|
||||
Per `skills/systematic-debugging/SKILL.md:199-213` (Phase 4.5: If 3+ Fixes Failed):
|
||||
|
||||
> **Pattern indicating architectural problem:**
|
||||
> - Each fix reveals new shared state/coupling/problem in different place
|
||||
> - Fixes require "massive refactoring" to implement
|
||||
> - Each fix creates new symptoms elsewhere
|
||||
>
|
||||
> **STOP and question fundamentals:**
|
||||
> - Is this pattern fundamentally sound?
|
||||
> - Are we "sticking with it through sheer inertia"?
|
||||
> - Should we refactor architecture vs. continue fixing symptoms?
|
||||
>
|
||||
> **Discuss with your human partner before attempting more fixes**
|
||||
>
|
||||
> This is NOT a failed hypothesis - this is a wrong architecture.
|
||||
|
||||
## Why
|
||||
|
||||
A wrong architecture surfaces symptoms in many places. Each symptom fix touches one of those places, but the underlying architectural mistake generates the next symptom in a different place. The fix loop is unbounded; the architecture is the bug.
|
||||
|
||||
Continuing to attempt fixes past three is sunk-cost driven and signal-blind. The first fix was a hypothesis; by the third, the hypothesis domain has shifted from "this line is wrong" to "this design is wrong." The agent's tools (line-level edits) are mismatched to the new domain (architectural question).
|
||||
|
||||
## The three-failure red flags
|
||||
|
||||
Per `skills/systematic-debugging/SKILL.md:227-228`:
|
||||
|
||||
- "**One more fix attempt"** (when already tried 2+)
|
||||
- **Each fix reveals new problem in different place**
|
||||
|
||||
If either flag is true, the agent has reached the architecture-question threshold. Stop.
|
||||
|
||||
## What this means in practice
|
||||
|
||||
- After failed Fix #1: form a new hypothesis, return to Phase 3 (Hypothesis and Testing).
|
||||
- After failed Fix #2: return to Phase 1 (Root Cause Investigation) with the new information from the failed fixes.
|
||||
- After failed Fix #3: STOP. The architecture is the bug. Write up the architectural question; surface the pattern of fixes; ask the user or Tier 2 whether to refactor or to try a different design entirely.
|
||||
- The agent does NOT attempt Fix #4 without explicit user permission. The architectural question is a decision the user makes, not the agent.
|
||||
- "Just one more fix" past three is a red flag, not a heuristic.
|
||||
- A fix loop is not "progress because something changes" — it is "regression because each change creates a new symptom."
|
||||
Reference in New Issue
Block a user