Backlog from the 2026-09-07 audit of Control, the coordinator backend and the app shell. Each linked issue is self-contained: where the bug is, what to change, and the exit criteria including the test that must fail before the fix. Work top to bottom. Tick an item when its PR merges.
P0: correctness and safety
P1: reliability and user-visible classes of bug
P2: hygiene, coverage, performance, accessibility
Rules that apply to every item: files stay under 500 lines, regression tests go red before green (see TESTING.md), PR bodies follow the template. Test placement follows the repo convention: pure logic gets a colocated vitest test under lib/, API routes get a tests/unit/ suite, user-visible behaviour gets a Playwright case in the matching tests/e2e/ spec.
https://claude.ai/code/session_01SQ4nS96XYRztd5w9QkubPf
Backlog from the 2026-09-07 audit of Control, the coordinator backend and the app shell. Each linked issue is self-contained: where the bug is, what to change, and the exit criteria including the test that must fail before the fix. Work top to bottom. Tick an item when its PR merges.
P0: correctness and safety
control,delivery,observeand five top-level routes #411/api/reposfetched without the active-team header shows personal repos inside a team scope #412P1: reliability and user-visible classes of bug
/controlshows the new-mission screen before it knows whether sessions exist #414permissionsstring and warn on "Approve Edits" with Codex #419repo_idfor legacy Control sessions #421res.okand show changes that were never saved #423P2: hygiene, coverage, performance, accessibility
Rules that apply to every item: files stay under 500 lines, regression tests go red before green (see TESTING.md), PR bodies follow the template. Test placement follows the repo convention: pure logic gets a colocated vitest test under lib/, API routes get a tests/unit/ suite, user-visible behaviour gets a Playwright case in the matching tests/e2e/ spec.
https://claude.ai/code/session_01SQ4nS96XYRztd5w9QkubPf