| name | go-systematic-debugging |
| description | Root cause: Use when a Go bug, flaky test, build failure, hang, deadlock, timeout incident, or production regression needs causal diagnosis. Own the first broken invariant and, only when authorized, the smallest causal fix and replayed proof; Skip when feature implementation, unresolved policy design, broad review, or claim-only verification is primary. |
Go Systematic Debugging
Use Implementation / Validation / Closeout for authorized repair. Work causally: classify diagnosis_only or fix_authorized, reconstruct the affected invariant and hypothesis set from the symptom, volatile evidence, callers, state transitions, and sibling paths, then reproduce with controls and trace to the first broken invariant. Before ranking hypotheses, classify the symptom's boundary: name every service, client, job, and managed dependency on the failing path, and mark which side of each hop the current evidence comes from. A hop with evidence from only one side is an open hypothesis, not a cleared one. Match the observed symptom to the reference selector and load one reference only when it can change the next discriminating experiment or repair owner. Test the highest-information hypothesis one at a time and disposition it as rejected, supported, or blocked; continue until one causal chain is supported by reproduction or current incident evidence and survives the smallest available falsification, or a named blocker prevents the next experiment. In fix_authorized, the repair gate opens only after that diagnosis observable exists; repair only the earliest owner and replay the signal. Route accepted feature work to go-coder; hand timeout, retry, degradation, or overload policy to go-reliability. Return evidence, hypothesis dispositions, the supported root cause or explicit unproven state, results, and the next experiment or blocker. Missing causal proof keeps diagnosis open and cannot justify repair. A chain terminating at a hop you did not inspect from both sides is unproven, not supported; call that hop a blocker only when its source and telemetry are genuinely unreachable.