docs(qa): live-QA plans + env bring-up for the burndown features

Six QA plans (docs/qa/QA-*.md) pinning observable evidence for the shipped tracks:
research egress + batch source-approval (D), architect contradiction (B§4), llama health
probe (A§4), idea promotion (E), reviewer static-first filter (B§5, partial), and the
brief-echo gate ARM-IT plan (C-A1) — the latter is the go/no-go for arming the gate in
production (it breaks the planner if the model can't emit a parseable brief_echo).

Plus the env: docs/qa/ENV.md runbook + docs/qa/README.md index, and scripts/qa/
(sync-config.sh, searxng-up/down.sh with the JSON-format gotcha, README). Scripts are
set -euo pipefail, syntax-checked, executable. Authored from the repo build/config
(server :apps:server:run, CLI :apps:cli:run, tui-go GOTOOLCHAIN=auto, sample-config.toml).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-21 09:14:36 +00:00
parent 9eef936073
commit 12ff2e97b0
8 changed files with 424 additions and 0 deletions
+33
View File
@@ -0,0 +1,33 @@
# Correx live-QA plans
Each `QA-<feature>.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 — producing stage not built) | `447fc7a` | 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 |
## Order of attack (suggested)
1. **`QA-llama-health-probe`** + **`QA-idea-promotion`** — cheapest, least model-dependent (health is liveness; promotion can be seeded). Quick wins.
2. **`QA-research-egress`** — once SearXNG is up.
3. **`QA-architect-contradiction`** — needs a real embedder + two sessions.
4. **`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.
5. **`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.