feat(loom): process-level HTTP SSE soak under loom (W44-B1, C00 L7 close) - #370
feat(loom): process-level HTTP SSE soak under loom (W44-B1, C00 L7 close)#370KooshaPari wants to merge 2 commits into
Conversation
- scripts/corpus-generate.py: deterministic Python generator; OKF_VERSION keyed; FIXTURE_SPECS (accepted) and FAILURE_FIXTURES (rejected) decoupled. - 13 new accepted fixtures covering: 5 new sources (aider/opencode/continue/ kiro/factory-droid-2), 2 new languages (sql, yaml), 3 stress shapes (100 entities, 7-deep relation chain, 12-intent rapid-fire stream), 3 edge cases (CJK label, embedded JSON label, multi-modal sha256 hint). - docs/ops/corpus-breadth.md: strategy + generator API + acceptance. - tests/replay_breadth.rs: 5 hermetic tests pinning the W44-B6 deliverable (all 13 fixtures on disk, total >= 33, each well-formed, generator + docs present). - docs/reference/conformance/README.md: section listing generator-produced fixtures. Total corpus: 20 hand-vetted + 13 generated = 33 accepted fixtures. Failure-mode fixtures (E01-E03) live in a separate scratch dir and are expected to be rejected by the harness. Refs: WAVE44_SCOPE.md (rank 6), docs/ops/WAVE44_PERT.md (lane B6), C08 L73.
…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: 52 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 (22)
✨ 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 |
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.
What changed
tests/loom_http_sse_soak.rscfg(loom)+ soft-lane discoverable 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. Asserts: no panics; cancel observed within bounded message count.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.Plus the soft-lane
loom_cfg_not_enabled_documents_soft_lanetest thatprints a discovery hint under default
cargo test(without pulling loom).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.
Realistic post-W44: depends on remaining 5 unpaid residuals.
Predecessors
Refs: WAVE44_SCOPE.md (rank 1), docs/ops/WAVE44_PERT.md (lane B1),
audit/.lane-c00/C00.md (L7 evidence).