← ClaudeAtlas

qa-fixlisted

QA phase — merge origin/main, run the autonomous portion of user-acceptance QA (plan items, machine-verifiable checks, PR-comment summary), apply the dispatch:qa-done label on a clean pass, run the bounded Opus auto-fix lane on opus-fixable residue (per-unit /implement-unit, re-QA via the chain, attempt-capped), and escalate to office-hours on any user-input blocker
natb1/commons.systems · ★ 3 · AI & Automation · score 66
Install: claude install-skill natb1/commons.systems
# QA and Fix The `qa` phase of the issue workflow, dispatched by `/dispatch-propagate` — the **autonomous** half of user-acceptance QA, sibling to `/review-fix`. The moment QA needs a human — a `needs-human` judgment item, an unexpected permission prompt, or a bounded auto-fix-exhausted bug (cap reached / scope-deviation / planning-failed on an `opus-fixable` item) — it escalates to office-hours via the standard path (skip the `phase-completed` marker, write `office-hours-reason`; `dispatch-tick`'s `terminal_without_disposition_sweep` parks the session). The Step 3.5 disposition Workflow classifies residue on a **four-class axis**: `opus-fixable` bugs are auto-fixed (Step 3.7); `needs-main` bugs are recorded for post-merge verification (Step 3.6 — standalone `tactic-mainqa-*` destination nodes on the node lane) and do not escalate; `already-satisfied` items are **dropped as PASS**; `needs-human` residue runs later via `/office-hours`. The QA plan (Step 2) is authored by a **single bounded Opus triage subagent** returning a three-way-classified, ordered item list (`script-verifiable`, `needs-browser`, `needs-human-judgment`). There are **three** Opus spends: the Step 2 triage subagent, the Step 3.5 Workflow's classify agent, and its gated `fix-plan` planner. The qa-fix session itself stays Sonnet — it parses the triage output and executes it across three lanes (shell-command, single-assertion, walkthrough), reserving the browser walkthrough for `needs-browser` items only. I