feat: introduce Wiggum Break as named circuit breaker

Replaces generic "circuit breaker" with "Wiggum Break" — policy enforcement
halt condition named after Chief Wiggum (policy + Ralph Loop's dad).
Hard breaks (immediate halt) and soft breaks (finish then halt) with
wiggum.break event type. Updated both papers and shadow-detection skill.
This commit is contained in:
2026-04-08 05:19:35 +02:00
parent d99f449083
commit 1e96d87f49
5 changed files with 46 additions and 23 deletions

View File

@@ -55,7 +55,7 @@ Explorer (research), Creator (design), Maker (implement), Guardian (security), S
Three layers, one escalation protocol: Three layers, one escalation protocol:
- **Archetype shadows** — individual agent dysfunction - **Archetype shadows** — individual agent dysfunction
- **System shadows** — orchestration-level issues (echo chamber, tunnel vision, scope creep) - **System shadows** — orchestration-level issues (echo chamber, tunnel vision, scope creep)
- **Policy boundaries** — operational limits (checkpoints, budgets, circuit breakers) - **Policy boundaries** — operational limits (checkpoints, budgets, Wiggum Breaks)
### Workflows ### Workflows
| Risk Level | Workflow | Agents | | Risk Level | Workflow | Agents |

View File

@@ -395,17 +395,28 @@ Beyond individual archetype dysfunction, ArcheFlow monitors for
proposal's file list. proposal's file list.
\end{description} \end{description}
\subsection{Policy Boundaries} \subsection{Policy Boundaries and the Wiggum Break}
The third layer enforces operational limits: The third layer enforces operational limits through budget gates, cycle
\begin{itemize} limits, and checkpoint policies. When limits are exceeded, the system
\item \textbf{Budget enforcement}: per-run token limits with per-agent triggers a \emph{Wiggum Break}\footnote{Named after Chief Wiggum from
tracking. \emph{The Simpsons}---a nod to both ``policy enforcement'' and the
\item \textbf{Cycle limits}: maximum PDCA iterations (1/2/3 for Ralph Loop plugin for Claude Code.}---a circuit breaker that halts
fast/standard/thorough). execution, saves state, and reports to the user.
\item \textbf{Checkpoint frequency}: mandatory progress saves to prevent
lost work on interruption. Wiggum Breaks are classified as \emph{hard} (halt immediately) or
\end{itemize} \emph{soft} (finish current task, then halt):
\begin{description}
\item[Hard breaks]: 3 consecutive agent failures, 3 consecutive shadow
detections in one run, test suite broken after merge, 2+ oscillating
findings.
\item[Soft breaks]: convergence score $< 0.5$ for 2 consecutive cycles,
findings unchanged between cycles, budget $> 95\%$ spent.
\end{description}
Each Wiggum Break emits a \texttt{wiggum.break} event capturing the
trigger, run state, and unresolved findings for post-run analysis.
\subsection{Connection to the Assistant Axis} \subsection{Connection to the Assistant Axis}

View File

@@ -661,7 +661,8 @@ this three-layer architecture, though without explicitly naming all methods:
sprint mode with WIP-limited parallel dispatch (implicit Kanban). sprint mode with WIP-limited parallel dispatch (implicit Kanban).
\item \textbf{Quality}: Shadow detection (behavioral FMEA for agent \item \textbf{Quality}: Shadow detection (behavioral FMEA for agent
failure modes); effectiveness scoring (rudimentary SPC); Guardian failure modes); effectiveness scoring (rudimentary SPC); Guardian
fast-path (TOC---don't waste the bottleneck on clean code). fast-path (TOC---don't waste the bottleneck on clean code); ``Wiggum
Break'' circuit breakers (hard/soft halt conditions with event logging).
\end{itemize} \end{itemize}
The gap is in explicit TOC application (identifying and optimizing around The gap is in explicit TOC application (identifying and optimizing around

View File

@@ -357,6 +357,7 @@ Emit events via `./lib/archeflow-event.sh <run_id> <type> <phase> <agent> '<json
| Fix addressing review | `fix.applied` | source, finding, file, line | | Fix addressing review | `fix.applied` | source, finding, file, line |
| End of PDCA cycle | `cycle.boundary` | cycle, max_cycles, exit_condition, convergence | | End of PDCA cycle | `cycle.boundary` | cycle, max_cycles, exit_condition, convergence |
| Shadow triggered | `shadow.detected` | archetype, shadow, trigger, action | | Shadow triggered | `shadow.detected` | archetype, shadow, trigger, action |
| Policy halt | `wiggum.break` | trigger, run_state, unresolved_findings, hard/soft |
| Run ends | `run.complete` | status, cycles, agents_total, fixes_total | | Run ends | `run.complete` | status, cycles, agents_total, fixes_total |
Parent rules: `run.start` has `parent: []`. Agents parent to the event that triggered them. Phase transitions fan-in from all completing events. Parallel agents share the same parent. Parent rules: `run.start` has `parent: []`. Agents parent to the event that triggered them. Phase transitions fan-in from all completing events. Parallel agents share the same parent.

View File

@@ -79,22 +79,32 @@ Every **45 minutes** or **3 completed tasks** (whichever first):
| 95% budget spent | Complete current task, then STOP | | 95% budget spent | Complete current task, then STOP |
| 100% budget | STOP immediately, commit WIP | | 100% budget | STOP immediately, commit WIP |
### Circuit Breaker ### Wiggum Break (Circuit Breaker)
| Trigger | Action | Named after Chief Wiggum — policy enforcement AND the Ralph Loop's dad.
When a Wiggum Break triggers, the system halts execution, saves state, and
reports to the user. "Bake 'em away, toys."
**Hard breaks** (halt immediately, commit WIP):
| Trigger | Reason |
|---------|--------| |---------|--------|
| 3 consecutive agent failures/timeouts | STOP. Infrastructure issue, not a code problem. | | 3 consecutive agent failures/timeouts | Infrastructure issue, not a code problem |
| 3 consecutive task failures in sprint | STOP. Something systemic is wrong. | | 3 consecutive task failures in sprint | Something systemic is wrong |
| Same shadow detected 3+ times in one cycle | STOP. Task needs to be broken down or re-scoped. | | Same shadow detected 3+ times in one cycle | Task needs to be broken down or re-scoped |
| Test suite broken after merge | Auto-revert, STOP, report. | | Test suite broken after merge | Auto-revert, then halt |
| 2+ oscillating findings (present→absent→present) | Fundamental tension in review criteria |
### Diminishing Returns **Soft breaks** (finish current task, then halt):
| Signal | Action | | Signal | Reason |
|--------|--------| |--------|--------|
| Cycle N findings identical to cycle N-1 | STOP cycling. Present best result. | | Cycle N findings identical to cycle N-1 | No progress — present best result |
| Convergence score <0.5 for 2 consecutive cycles | STOP. "This needs a different approach." | | Convergence score <0.5 for 2 consecutive cycles | "This needs a different approach" |
| Reviewer finding count increases cycle over cycle | STOP. Implementation is diverging, not converging. | | Reviewer finding count increases cycle over cycle | Implementation is diverging, not converging |
When a Wiggum Break fires, emit a `wiggum.break` event with trigger, run state, and unresolved findings.
The event log makes it easy to audit why a run was halted and whether the break was warranted.
### Context Pollution ### Context Pollution