feat(loom): process-level HTTP SSE soak under loom (W44-B1, C00 L7 close) - #372
Conversation
…ose)
- tests/loom_http_sse_soak.rs: 3 loom tests gated on cfg(loom) + soft-lane
discoverable test
* process_level_http_sse_soak_conserves_under_cancel: N=3 client tasks
each with a broadcast::Receiver (modelled as N outbound mpsc queues);
publisher + dispatcher + cooperative cancel
* http_sse_soak_lagged_recovery_no_panic: 2 publishers racing 1 client
with channel capacity 2; asserts no panic, non-negative count
* http_sse_soak_shutdown_propagates_to_clients: N=3 clients sharing a
channel; close-publisher + cancel forces Disconnected on every client
- docs/ops/loom-http-sse-soak.md: rubric anchor + acceptance + risk
- scripts/loom-http-sse-soak-check.ps1 -SelfCheck: hermetic PR gate
- .github/workflows/loom-http-sse-soak-soft.yml: soft nightly anchor
- CHANGELOG.md: Unreleased Added entry for W44-B1
Closes the C00 L7 'process-level HTTP SSE soak under loom' residual from
Wave-43 SCORECARD. Companion to daemon-graph-hard.md (live tokio, Wave-43
#362) which exercises the HTTP layer in wall-clock time; this file
exercises the channel-level race surface (multi-client disconnect,
Lagged recovery, cancel propagation) that the HTTP layer depends on.
Refs: WAVE44_SCOPE.md (rank 1), docs/ops/WAVE44_PERT.md (lane B1),
audit/.lane-c00/C00.md (L7 evidence).
|
Caution The consumer version of Gemini Code Assist on GitHub has been sunset. All code review activity has officially ceased. |
|
Warning Review limit reached
Next review available in: 49 minutes Enable usage-based reviews in Billing to review now. Otherwise, wait until the next included review is available. How can I continue?After more reviews become available, a review can be triggered using the To avoid repeated limits, reduce automatic review volume by pausing incremental auto-reviews earlier, using label-based review opt-in, excluding WIP or generated PR titles, or requesting reviews manually when the PR is ready. If your team needs uninterrupted high-volume reviews, an organization admin can enable usage-based reviews. How do review limits work?CodeRabbit enforces per-developer PR review limits for each organization. Most developers receive the normal plan review availability. For paid Pro and Pro+ PR reviews, CodeRabbit uses adaptive limits for sustained high-volume activity. When a developer's recent PR review activity reaches the 95th percentile or higher among CodeRabbit users, additional reviews become available more gradually as earlier reviews age out of the rolling window. Please refer docs for additional details. Review details⚙️ Run configurationConfiguration used: Organization UI Review profile: ASSERTIVE Plan: Pro Plus Run ID: 📒 Files selected for processing (5)
✨ Finishing Touches🧪 Generate unit tests (beta)
✨ Simplify code
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Cherry-pick of 95a1049 to main. Updates WAVE44_SCOPE.md and docs/ops/WAVE44_PERT.md to: - Mark R-5 (C01 L16 Fluent migration) as **withdrawn** — was a factual error (C01 L16 closed in Wave-38 #312) - Update W44-B1 (loom-sse-soak) as SHIPPED via PR #372 — merge commit 774a927 already on main - Update W44-B6 (corpus-breadth) as SHIPPED via PR #368 — pending merge - Update realistic post-W44 to 397-399/402 (was 398-401) - Resolve D-W44-3 (R-5 was a factual error, no machine lane needed) Refs: PR #372 (W44-B1), PR #368 (W44-B6), WAVE44_SCOPE.md, docs/ops/WAVE44_PERT.md
…3c974f (#374) - SCORECARD.md: header refreshed (date=2026-07-24, auditor=Wave-44-D, commit=13c974f7); Wave-44 Delta section added (W44-B1 loom deepened C00 L7; W44-B6 corpus deepened C08 L73 20 -> 33 fixtures; PERT correction withdrawn R-5); Held (no score) line expanded with #368, #372, #373; Remaining unpaid rewritten to honestly name C04 L36 / C08 L76 / C11 L110 as the 3 unpaid pillars (6 raw pts). - TRACEABILITY.json: updated 2026-07-23 -> 2026-07-24; commit 41829e8 -> 13c974f; wave Wave-43 -> Wave-44; delta_vs_w42 -> delta_vs_w43. CRLF preserved. - GAP_QA_MATRIX.md: C00 row mentions #372 loom HTTP SSE soak; C08 row mentions #368 corpus breadth and L76 residual; PLAN-W8-B row updated with Wave-44 closure refs and Wave-45 candidate lanes. - CHANGELOG.md: Unreleased Changed entry for Wave-44-D reaudit. Score 396/402 (98% A) held conservative; 2 of 3 machine lanes shipped 2026-07-24 (W44-B1 #372, W44-B6 #368). PERT correction #373. Remaining 6 raw pts across C04 L36 (HUMAN 2FA), C08 L76 (Agent-Eval Pipeline), C11 L110 (Tray/Menubar Client) -- the 3 unpaid pillars the rubric actually scores below 3. Co-authored-by: KooshaPari <koosha@example.com>
Summary
Wave-44 close-out lane B1 — process-level HTTP SSE soak under loom. Closes
the C00 L7 process-level HTTP SSE soak under loom residual from Wave-43
SCORECARD.
Rebased onto main (no longer piggy-backs on feat/sl-w44-b6-corpus). B6
should merge first via PR #368.
What changed (B1 only)
tests/loom_http_sse_soak.rscfg(loom)+ soft-lane testdocs/ops/loom-http-sse-soak.mdscripts/loom-http-sse-soak-check.ps1.github/workflows/loom-http-sse-soak-soft.ymlCHANGELOG.mdTotal: 5 files, +517 lines.
Test coverage
3 new loom tests:
process_level_http_sse_soak_conserves_under_cancel— N=3 client tasks each with a broadcast::Receiver (modelled as N outbound mpsc queues); publisher + dispatcher + cooperative cancel.http_sse_soak_lagged_recovery_no_panic— 2 publishers racing 1 client with channel capacity 2; exercises the Lagged drop path.http_sse_soak_shutdown_propagates_to_clients— N=3 clients sharing a channel; close-publisher + cancel forces Disconnected on every client.SelfCheck
pwsh ./scripts/loom-http-sse-soak-check.ps1 -SelfCheckruns:RUSTFLAGS='--cfg loom' cargo test --test loom_http_sse_soakScore disposition
Pre-W44: C00 L7 partial (deepened) — live tokio daemon-graph only.
Target post-W44: C00 L7 pillar max — loom + live tokio both green.
Predecessors
Refs: WAVE44_SCOPE.md (rank 1), docs/ops/WAVE44_PERT.md (lane B1),
audit/.lane-c00/C00.md (L7 evidence).