Failure Forensics
Problem shape: something failed (or will fail) and the evidence is being averaged away, cleaned up, or explained by its most convenient story. The move: treat anomalies as data, reconstruct the timeline at the right timescale, and design the degraded state as a first-class behavior.
Relevant geniuses
| Agent | Use when |
|---|---|
| hamilton | overload and simultaneous failure scenarios; priority shedding by criticality; the degraded mode is undesigned; "users will never do that" |
| mcclintock | aggregate metrics look smooth but one specific case is weird; a class of observations is being trimmed as noise |
| fleming | anomalies keep appearing during routine work and being cleaned up; "that's weird" said and never investigated |
| ginzburg | reconstruct what happened from marginal traces and involuntary evidence (logs, timestamps, artifacts nobody meant to leave) |
| braudel | the incident needs three-timescale decomposition — event, cycle, structure — before a root cause is named |
| wu | the failure hides under an assumption everyone considered too obvious to test |
| maxwell | the system oscillates, overshoots, or hunts — feedback stability and gain-margin diagnosis |
Invocation
- Pick the best-fit agent above. If two or more fit, run
tools/genius-invoker.sh route "<problem>"and take the top ranked match. - Load it:
tools/genius-invoker.sh invoke <agent> "<problem>", then readagents/genius/<agent>.mdin full. - Apply the agent's
<workflow>step by step and answer in its<output-format>. Reproduce before claiming a cause; classify the cause before proposing the fix (coding-standards §6 root-cause protocol). - Typical chain: ginzburg reconstructs the timeline → braudel separates
timescales → hamilton designs the degraded state. Run via
tools/genius-invoker.sh compose ginzburg hamilton -- "<problem>". - If no shape above matches, use a standard team agent instead.
Refuse when
- No reproduction and no trace evidence exist — forensics reads records, it does not invent narratives.
- The requested output is a fix at the throw site with no cause classification.