roadmap: refresh to 134 tests + extend Beyond-Stage-1 note through CB-118

Test count 111->134 (128 unit/acceptance + 6 live-herdr contract). Add the
CB-115..118 reliability follow-ups (clean scrape, waiter identity, orphan reap,
completion clip fix) and note the e2e coverage: single-worker conversation,
1-primary/N-worker fan-out issue-hunt, and a sustained 5-minute stateful
back-and-forth (30 turns, all clean bridge_reply).
Dai Ha
2026-07-16 14:20:38 +02:00
parent 4304dc4128
commit cea7ddc196
+11 -2
@@ -128,7 +128,7 @@ comes in Stage 2). This is the thinnest end-to-end vertical slice.
**Definition of done for the stage:** `CB-107` demo passes.
> **Build status — Stage 1 COMPLETE** (in `bridged/`, Maven · Java 25 · **111 tests green — 105
> **Build status — Stage 1 COMPLETE** (in `bridged/`, Maven · Java 25 · **134 tests green — 128
> unit/acceptance + 6 live-herdr contract**). The `CB-107` end-to-end demo gate passes and the
> bridge is **dogfooded**: an Opus primary delegates real tasks to off-subscription workers that
> reply through it (delegated code reviews have produced committed bug fixes).
@@ -149,7 +149,7 @@ comes in Stage 2). This is the thinnest end-to-end vertical slice.
>
> **Beyond Stage 1 — shipped delivery-reliability hardening.** The implementation continued the
> `CB-1xx` sequence past the skeleton for work that overlaps Stage 2–4 below. ⚠️ **These commit
> numbers (CB-106…CB-114 in git) reuse the CB-106/107/108 slots this plan assigned above to
> numbers (CB-106…CB-118 in git) reuse the CB-106/107/108 slots this plan assigned above to
> config/e2e-demo/placement — identify the items below by name, not number.** Shipped:
> completion fallback (a confirmed `working→idle` turn resolves a send), async fire-and-poll
> (`wait:false` + `bridge_poll`, beats the caller's MCP call timeout), fleet MCP tools
@@ -157,6 +157,15 @@ comes in Stage 2). This is the thinnest end-to-end vertical slice.
> for wedged (`unknown`), vanished, and never-ready workers, multi-profile workers with
> per-profile base_url guards, worker cwd inheritance (never `$HOME`), and a readiness gate that
> holds delivery until the worker's Claude has connected the bridge MCP.
>
> **Reliability follow-ups (CB-115…CB-118).** Turn-completion made robust: a clean transcript
> scrape that strips TUI chrome to the last assistant block (CB-115), waiter-identity so a late
> completion fallback can never cross into the next turn's send (CB-116), startup reconciliation
> that reaps orphaned worker panes leaked by a prior daemon process (CB-117), and a
> completion-baseline clip fix so the CB-115 misattribution guard holds for assistant blocks over
> the scrape cap (CB-118). Verified by a single-worker conversation harness, a **1-primary /
> N-worker fan-out issue-hunt**, and a **sustained 5-minute stateful back-and-forth** (30 turns,
> every one a clean `bridge_reply`, running total held) — all under `e2e/`.
---