3e94d7fbff
master had advanced 16 commits past feat/backlog-burndown's base, and the two branches independently built four of the same features. Resolved 26 conflicts. Overlap features — kept master's implementation (more complete / production-wired / more robust), dropped the feature branch's parallel constellation: - llama-server health probe: kept master's event-store-backed tps probe; dropped the branch's LlamaLivenessClient (liveness-only, throughput unwired). - event-store probe: kept master's EventStoreHealthProbe; dropped EventStoreLatencyProbe. - brief echo-back gate: kept master's BriefEchoDiff (Jaccard, tolerates rewording); dropped the branch's exact-set-diff BriefEchoComparator/Extractor. - static-first reviewer: kept master's command/exit-code gate (ProcessStaticAnalysisRunner, wired); dropped the branch's structured-finding static_check stage (no-op seam). Its structured-findings model is filed as a follow-up in BACKLOG. Feature-branch net-new work brought in and kept (master had none): - native task tracking (aggregate, agent tools wired into analyst/implementer/reviewer, dependency graph + gates, decompose, REST/CLI, TUI task board) - critique-outcome producer (role-rel §6 — master had deferred it) - stage-level plan checkpointing (C-A2, folded into runPostStageGates) - CLAUDE.md/AGENTS.md L0 standing context - cross-session grants + TUI (grant scopes/revoke, @ picker, session resume browser) Verified: full Gradle compile (all modules + tests) green; tests pass for core:events, core:kernel, infrastructure:workflow, apps:server, apps:cli, testing:integration; tui-go go build + go test green. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
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 — 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)
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.QA-llama-health-probe+QA-idea-promotion— cheapest, least model-dependent (health is liveness; promotion can be seeded). Quick wins.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.QA-research-egress— once SearXNG is up.QA-architect-contradiction— needs a real embedder + two sessions.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.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.