# Correx live-QA plans Each `QA-.md` is the artifact that authorizes a `BACKLOG.md` → `RETRO.md` move: it pins **observable evidence** (events, logs, files, TUI renders) for one shipped feature. Template: `TEMPLATE.md`. Environment bring-up: **`ENV.md`** (+ `scripts/qa/`). A feature is **not** "resolved" until its plan passes live. On PASS → move the BACKLOG entry to RETRO with the run date + cited evidence; on FAIL → refile each miss as a numbered finding. ## Plans (this burndown) | Plan | Feature | Commits | Needs | |------|---------|---------|-------| | `QA-research-egress.md` | per-session egress allowlist + batch source-list approval + dedicated source events | `ab7e4be` `4b0024f` `b098d87` `027ff1f` | model + **SearXNG** | | `QA-architect-contradiction.md` | architect contradiction-check (display-only) | `4e08510` `eae0a0c` | model + **llamacpp embedder** + `project.enabled`, 2 sessions/1 process | | `QA-llama-health-probe.md` | LLAMA_SERVER liveness probe | `64a90e7` `9eef936` `266bbf0` | static llama-server you can stop | | `QA-idea-promotion.md` | idea-board → `.correx/project.toml` promotion | `f107ff5` | bound workspace (router model optional — can seed the event) | | `QA-reviewer-static-first.md` | reviewer static-findings exclusion (PARTIAL — stage seam+emitter built `e46777e`; runner activation pending) | `447fc7a` `e46777e` | seed `StaticFindingsRecordedEvent` | | `QA-brief-echo-gate.md` | **ARM-IT** plan: brief echo-back gate (off by default; risky to arm blind) | `1df7af5` | prod-candidate model | | `QA-grants.md` | cross-session grants (PROJECT/GLOBAL) + revoke | `c36d41b` `8df0ec7` | model + a T2+ tool call, 2 sessions, 2 workspaces | | `QA-tui-v2.md` | Bubble Tea v2 + Shift+Enter + native cursor + window title | `d247b19` `85af2c6` | **kitty-protocol terminal** + a server with a resumable session | ## Order of attack (suggested) 0. **`QA-tui-v2`** — cheapest of all: no model / network / GPU, just a kitty terminal + a server with a session to enter. Pure render/keyboard verification. 1. **`QA-llama-health-probe`** + **`QA-idea-promotion`** — cheapest, least model-dependent (health is liveness; promotion can be seeded). Quick wins. 2. **`QA-grants`** — no network/embedder; just a model that drives one repeatable T2+ tool call. The headline check (grant in session A → auto-clear in session B) is a strong, cheap signal. 3. **`QA-research-egress`** — once SearXNG is up. 4. **`QA-architect-contradiction`** — needs a real embedder + two sessions. 5. **`QA-brief-echo-gate`** — run this **before** arming the gate anywhere real; check 2 (100% parseable-echo across runs) is the go/no-go for production. 6. **`QA-reviewer-static-first`** — partial until the static-check stage seam lands. ## Still-open §F live-QA gates (no dedicated plan yet — same env applies) These predate the burndown and remain in `BACKLOG.md` §F; author a plan from `TEMPLATE.md` when you tackle one: Epic 15 (events/replay + MDC sessionIds), idea-board capture, clarification loop + workflow-propose panel, the full research-workflow run, TUI kernel-steering + AMD gauge.