quick-fix
Quick Fix
Section titled “Quick Fix”HARD GATE — ALL entry criteria must pass before invoking quick-fix. If any guardrail triggers during execution, abort immediately and fall back to
investigate-bug. Do NOT use quick-fix for logic changes, multi-file edits, or diffs > 5 lines.
Fast-track for trivial data-only fixes that do not require the full bug-fix chain.
When a bug fix is purely data — an add-missing-key, a typo correction, a config value update — the standard 6-skill chain (investigate-bug → diagnose-root → develop-tdd → kickoff-branch → verify-work → release-branch) is wasteful overhead. Quick-fix collapses it to 2 skills: quick-fix then release-branch.
Discovered gate failures (e51s04)
Section titled “Discovered gate failures (e51s04)”A Preflight, golden suite, or baseline red failure discovered during unrelated work is valid quick-fix entry when the root cause is a data-only gap (missing key, typo, stale config) — no user-reported bug required. If guardrails abort (logic change, >1 file, >5 lines), fall back to fix-bug instead of narrating and continuing.
Entry Criteria (ALL must be true)
Section titled “Entry Criteria (ALL must be true)”Before invoking quick-fix, evaluate every item in this checklist:
- Purely data change — adding a missing key, fixing a typo, updating a config value, correcting a constant
- No logic change — no function signature, condition, loop, or control flow is modified
- No refactor risk — the change does not reorganize or rename existing structures
- No API surface change — no exported symbol, interface, or contract changes
- Verifiable with a single assertion — one test, one curl, one grep can prove it works
- Affects ≤ 1 file
- Affects ≤ 5 lines changed
Guardrails (HARD ABORT — all must pass)
Section titled “Guardrails (HARD ABORT — all must pass)”If ANY guardrail triggers, abort immediately and suggest investigate-bug instead:
| Guardrail | Check |
|---|---|
| >1 file | The fix touches more than one file |
| >5 lines | The diff exceeds 5 lines |
| Logic change | Any function signature, condition, or loop is modified |
| Complex verify | The verify command is more than one pipeline |
| Test breakage | Running npm test or equivalent breaks any existing test |
Fallback: If any guardrail triggers, tell the user: “This fix exceeds quick-fix guardrails. Use
investigate-bugfor the full TDD bug-fix chain instead.”
Fast-Path Workflow
Section titled “Fast-Path Workflow”Only 2 skills needed for eligible fixes:
quick-fix → apply change, run one-line verify, commit with fix:release-branch → merge and ship (existing skill)Skipped skills (with justification):
| Skipped skill | Why skipped |
|---|---|
investigate-bug |
Root cause is obvious (data gap, not logic error) |
diagnose-root |
No isolation needed — the data point is the root cause |
develop-tdd |
No logic to test — single assertion proves correctness |
kickoff-branch |
Change is so small it does not warrant a separate worktree |
Justification is included in the
fix:commit body so the audit trail is preserved.
Process
Section titled “Process”1. Evaluate entry criteria
Section titled “1. Evaluate entry criteria”Run the entry criteria checklist above. If any criterion fails → abort, suggest investigate-bug.
2. Apply the fix
Section titled “2. Apply the fix”Make the data change — add the missing key, fix the typo, update the value. Keep it to ≤5 lines in 1 file.
3. Verify
Section titled “3. Verify”Run the single-assertion verify command. Example:
grep -q "Bosnia" src/flags.js && echo "FIX VERIFIED" || echo "FIX FAILED"4. Commit
Section titled “4. Commit”git add <file>git commit -m "fix(<scope>): <description>"git commit --amend -m "fix(<scope>): <description>
Skipped skills (justified for data-only change):- investigate-bug: root cause is a data gap, not a logic error- diagnose-root: the missing data point is the root cause- develop-tdd: single assertion proves correctness- kickoff-branch: change is too small for a separate worktree"5. Release
Section titled “5. Release”Invoke release-branch to merge and ship.
Example
Section titled “Example”Bosnia flag missing from FLAGS dictionary
Section titled “Bosnia flag missing from FLAGS dictionary”Given a bug where FLAGS dictionary is missing entry "Bosnia"And no logic depends on the missing entry (purely a data gap)When the agent invokes quick-fixThen the missing entry is added to the dictionaryAnd a one-line verify confirms the key exists: grep -q "Bosnia" src/flags.jsAnd a fix: commit is created with the skipped-skills rationale in the bodyAnd the change is ready for release-branch