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:
@@ -55,7 +55,7 @@ Explorer (research), Creator (design), Maker (implement), Guardian (security), S
|
||||
Three layers, one escalation protocol:
|
||||
- **Archetype shadows** — individual agent dysfunction
|
||||
- **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
|
||||
| Risk Level | Workflow | Agents |
|
||||
|
||||
@@ -395,17 +395,28 @@ Beyond individual archetype dysfunction, ArcheFlow monitors for
|
||||
proposal's file list.
|
||||
\end{description}
|
||||
|
||||
\subsection{Policy Boundaries}
|
||||
\subsection{Policy Boundaries and the Wiggum Break}
|
||||
|
||||
The third layer enforces operational limits:
|
||||
\begin{itemize}
|
||||
\item \textbf{Budget enforcement}: per-run token limits with per-agent
|
||||
tracking.
|
||||
\item \textbf{Cycle limits}: maximum PDCA iterations (1/2/3 for
|
||||
fast/standard/thorough).
|
||||
\item \textbf{Checkpoint frequency}: mandatory progress saves to prevent
|
||||
lost work on interruption.
|
||||
\end{itemize}
|
||||
The third layer enforces operational limits through budget gates, cycle
|
||||
limits, and checkpoint policies. When limits are exceeded, the system
|
||||
triggers a \emph{Wiggum Break}\footnote{Named after Chief Wiggum from
|
||||
\emph{The Simpsons}---a nod to both ``policy enforcement'' and the
|
||||
Ralph Loop plugin for Claude Code.}---a circuit breaker that halts
|
||||
execution, saves state, and reports to the user.
|
||||
|
||||
Wiggum Breaks are classified as \emph{hard} (halt immediately) or
|
||||
\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}
|
||||
|
||||
|
||||
@@ -661,7 +661,8 @@ this three-layer architecture, though without explicitly naming all methods:
|
||||
sprint mode with WIP-limited parallel dispatch (implicit Kanban).
|
||||
\item \textbf{Quality}: Shadow detection (behavioral FMEA for agent
|
||||
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}
|
||||
|
||||
The gap is in explicit TOC application (identifying and optimizing around
|
||||
|
||||
@@ -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 |
|
||||
| End of PDCA cycle | `cycle.boundary` | cycle, max_cycles, exit_condition, convergence |
|
||||
| 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 |
|
||||
|
||||
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.
|
||||
|
||||
@@ -79,22 +79,32 @@ Every **45 minutes** or **3 completed tasks** (whichever first):
|
||||
| 95% budget spent | Complete current task, then STOP |
|
||||
| 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 task failures in sprint | STOP. Something systemic is wrong. |
|
||||
| Same shadow detected 3+ times in one cycle | STOP. Task needs to be broken down or re-scoped. |
|
||||
| Test suite broken after merge | Auto-revert, STOP, report. |
|
||||
| 3 consecutive agent failures/timeouts | Infrastructure issue, not a code problem |
|
||||
| 3 consecutive task failures in sprint | Something systemic is wrong |
|
||||
| Same shadow detected 3+ times in one cycle | Task needs to be broken down or re-scoped |
|
||||
| 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. |
|
||||
| Convergence score <0.5 for 2 consecutive cycles | STOP. "This needs a different approach." |
|
||||
| Reviewer finding count increases cycle over cycle | STOP. Implementation is diverging, not converging. |
|
||||
| Cycle N findings identical to cycle N-1 | No progress — present best result |
|
||||
| Convergence score <0.5 for 2 consecutive cycles | "This needs a different approach" |
|
||||
| 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user