Skip to content

row 155 F25 REHOME (kernel): walk, exhaustion, deadline, probe and breaker rows over the real store, 37 legacy tests; a silent stream head waits under the stream ceiling as 1.5.5 - #905

Merged
MattJackson merged 1 commit into
predevfrom
lane-f25-kernel-rehome-1
Oct 15, 2026

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

F25 REHOME (status row 155, kernel lane): the legacy crates/busbar-llm tests whose coverage-map home is a busbar-kernel walk / exhaustion / deadline / probe / breaker test file, ported at equal strength over the REAL breaker store (a private adapter in route/walk_tests.rs shaped exactly as the root's crates/busbar/src/root/adapters.rs; probe_unit_tests.rs has its own copy). Literal statuses, Retry-After, cell states, err/window counts, budgets, elapsed times.

Fix (rows 33, 34, 35 are RED without it)

A streamed unit whose member states no attempt_timeout_ms waited for its HEAD under the walk's failover budget (120 s default), and the connector's open timeout was that budget too (far_end.rs attempt_cap, first-answer wait). 1.5.5 bounded only a buffered request by the failover deadline; a stream, head included, ran under upstream_request_timeout_secs (v1.5.5 crates/busbar/src/proxy/engine/mod.rs:1684-1698; the member cap at :1712-1717). Both now take the stream ceiling for such a unit. Side effect: a streamed unit's auth-refresh wait shares attempt_cap() and is the ceiling too.

Rows (coverage-map-v2.tsv line numbers; legacy under crates/busbar-llm/src/engine/), 37 rows

  • route/deadline_tests.rs: 33, 35 (engine_tests/send_envelope_tests.rs, engine_tests/stream_deadline_tests.rs)
  • route/exhaustion_tests.rs: 34, 181, 480 (512 seeded worlds; no proptest in kernel dev-deps), 483, 484, 522, 526, 528, 529, 531, 532, 533, 546
  • route/walk_tests.rs: 95, 118, 119, 120, 121, 135 (lane ok == 2 read as the cell window (2,0): the kernel keeps no lane ok counter), 136, 155, 364, 366, 587
  • route/pick_order_tests.rs: 552, 553
  • busbar-kernel-egress/src/tests/attempt_tests.rs (new, wired from attempt.rs): 48
  • plane_driver/tests/probe_unit_tests.rs: 189, 221, 222, 234 (moved here from tests/probe_tests.rs, which cannot reach the probe rig)
  • tests/members/breaker/probe_tests.rs: 225, 226
  • busbar-kernel-breaker/src/tests/mod.rs: 568, 570

Not here (behaviour is the root's): 224 (served probe skips only passthrough members; the root binds an own-credential lane with an empty key as a normal auth binding, so it is probed: 1.5.5 never probed a keyless lane, crates/busbar/src/health.rs:250-254), 602 (crates/busbar/src/root/serve.rs:764 always carries probe_schedule; 1.5.5 carried it only for an unchanged lane set, crates/busbar/src/main.rs:3596-3606).

Files also held by open PRs, hunks kept clear: plane_driver/far_end.rs (#840 l.1291+, #847/#837/#885/#886 l.1074, drafts #778/#561; this PR edits l.847-866 and l.1154-1185), walk_tests.rs / probe_unit_tests.rs / busbar-kernel-breaker/src/tests/mod.rs (drafts #778, #561).

… probes and breaker over the real store; a silent stream head waits under the stream ceiling, as 1.5.5

37 rows of coverage-map-v2.tsv whose home is a busbar-kernel route/probe/breaker test file,
ported from the legacy busbar-llm engine at equal strength over the real breaker store (a private
adapter shaped as the root's): fallback-pool probe cells (2xx closes, transport error and 5xx
re-open with backoff, 4xx releases without penalty), the max_requests budget (200, 200, 503),
exclusions, the permit held through a stream, the pre-first-byte trip, the SSE/buffered refund
arms, the at-capacity spills and cascades, the queue that won a permit on an opened breaker, the
SWRR spread, the probe classifications (500/503 transient, 401 hard down, the window dilution)
and the probe guard on the real breaker.

Fix (rows 33-35, red before it): a streamed unit whose member states no attempt cap waited for its
head under the walk's failover budget (120 s default) and the connector's open timeout was that
budget too. 1.5.5 bounded only a buffered request by the failover deadline; a stream, head
included, ran under upstream_request_timeout_secs (v1.5.5 crates/busbar/src/proxy/engine/mod.rs:
1684-1698; the member cap at :1712-1717). far_end.rs attempt_cap and the first-answer wait now
take the stream ceiling for such a unit.
MattJackson added a commit that referenced this pull request Oct 15, 2026
…nel rehome holds a twin of each

F25's kernel rehome (#896/#900/#905) ported legacy busbar-llm engine tests into the kernel
under the same fn names, so each bare ref in PB-3/4/5/8/27/55/57/73 is declared in two files
and settles nothing. Each cites the busbar-llm test it was curated against as path.rs::name,
the form PB-5 already uses.
@MattJackson
MattJackson merged commit 00b08e1 into predev Oct 15, 2026
1 check was pending
@MattJackson
MattJackson deleted the lane-f25-kernel-rehome-1 branch October 15, 2026 05:33
MattJackson added a commit that referenced this pull request Oct 15, 2026
…ased breaker port; the root rigs on the shared plane handle; law0 back at its row

From ModernCI's full logs at 5ad45bf:
- busbar-kernel walk_tests / probe_unit_tests (F25 rehome #905/#896): their private breaker
  adapters classify as the root's BreakerAdapter now does (the transport's fault reading, no
  number: busbar_kernel_breaker::port::UpstreamStatus { reading }), the four frame_with_upstream
  calls state their fault and retry_after, the head of answer() carries its class's fault
  reading as harness::frame does, and route_async answers Pick::Refused as the harness does
  (E0432/E0425/E0560/E0061/E0004).
- busbar root: compose_planes takes the shared Arc<Plugin<Plane>> (#986) in the session door
  rig and the a2a root cells; DoorReach states catalog in door_steps' own_reach and the a2a
  root cells (E0308/E0063).
- clippy: config_validate_cross_plane uses contains.
- kind-isolation:law0 busbar x plane 626 vs 620: the perf test's fixture and the test-linked
  comment named planes (+6); renamed fixtures/perf_mock_provider.yaml and reworded.
- linked-dropped-features: its four transport-http tokio rows are STALE (drained), struck.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant