test: earn parallelism — 343 t.Parallel, both-dimension budget, -p 1 for the stream master
Phase 3 task 9. Global-state audit: nothing needed conversion; four sites (63 calls) stay deliberately serial (env-parsing t.Setenv, slog capture). Nine internal straggler files migrate off the shared DB (goose is now extinct in test code). Three concurrency bugs surfaced that -p 1 had masked: a template-destruction race in testkit's own recovery tests (fixed via private templates with their own sweepable family); the legacy firehose loops' 30-second promise was worth exactly one 5-second deadline (gorilla corrupts on expiry; counter machinery deleted, one honest deadline, non-timeout errors terminate); and Jetstream account/identity events bypass wantedCollections filtering, so parallel signup storms starve every subscriber — measured 2/4 failures at -p 2 — which is the new, documented reason -p stays 1 until the legacy subscribers die. ConcurrencyBudget computes both -p and -parallel against max_connections with a nested-clone term and errors on undersized servers; the Makefile splice is proven fail-closed. Two-stream reviewed; 9 fixes applied. make ci green twice at 117s/128s — the clone tax is repaid and the gate beats its pre-clone baseline. -race and -shuffle clean; 3401 tests, 0 skips; peak 27/200 connections; 0 leaked clones or templates. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>