Repository navigation
row 130 E1+E7: the hyper serve loop leaves busbar-kernel; the kernel's no-socket pin - #796
Merged
3 commits merged intoOct 14, 2026
Merged
3 commits merged into
3 commits merged into
Conversation
…o-socket pin armed (E7) The inbound listener's accept/serve loop (hyper-util's auto builder, graceful shutdown, the body read bounds, the accept backoff and the connection-placement balancer) moves verbatim from busbar-kernel/src/tls.rs into the composition root, crates/busbar/src/root/listener.rs. The connector binds every listener (Listening::bind_stream) and hands each admitted stream up; the accept-source trait (Admits, Admitted) moves to busbar-core-connector's listen.rs beside the listener that implements it. tls.rs keeps read_pem for its outbound callers. The kernel drops tokio-util. BUSBAR-1.6.0.md l.475-483 (INBOUND-LISTEN: the root's stream hand-up) and the ARCHITECT ruling on #710 (2026-10-10). This is #741's change on current predev; it supersedes #741. Tests move with the code: the kernel's tls_tests.rs and busbar/tests/tls_listener_h2.rs become root/tests/listener_tests.rs and listener_h2_tests.rs; the connector's TLS-listener rows join them (their scratch PEM name keeps predev's unique-per-call suffix). Ledgers: law0 busbar-kernel x transport 285 -> 268 and busbar x transport 208 -> 225 (the move, total flat, per the #710 ruling); population floor 947 -> 948 (root/listener.rs is a new file; tls.rs stays). E7: crates/busbar-kernel/tests/no_socket.rs holds busbar-kernel to a drain-only pin of every (file, needle) naming a socket, resolver or HTTP client/server stack, and every manifest ask for one; tls.rs is not in it. A new offender is RED, a drained pin left standing is RED, and the RED arm plants a dial, a resolver and a server stack and sees each.
promote into
|
| gate | row | detail |
|---|---|---|
| construction | one-pick-site |
3 production call site(s) of 'pick_among(' (ceiling 2): crates/busbar-kernel-egress/src/walk.rs:358; crates/busbar-llm/src/engine/exhaustion/fallback.rs:120; crates/busbar-llm/src/engine/pipeline.rs:8 |
| kind-isolation | kind-isolation:deps |
3 finding(s), 93 shipped edge instance(s) over 30 class(es), 93 declaration(s); 56 '[[dep]]' row(s), 0 question(s): unlisted-dep-edge legacy -> plane busbar-llm -> busbar-plane-llm is a shipped edge w |
| kind-isolation | kind-isolation:law0 |
5 hit(s) off the [[law0]] ceilings, 3 finding(s) over 14 neutral crate(s): law0-rise busbar × instance:secret 37 hit(s) against a ceiling of 35: this landing grew a neutral crate's instance vocabulary |
| kind-isolation-ship | kind-isolation:deps |
10 finding(s) over 93 shipped edge(s): ship-edge kernel -> hooks busbar-kernel -> busbar-hook-ranking is 'not-allowed': the architecture grants no kernel -> hooks edge, and the ship criterion is the a |
| kind-isolation-ship | kind-isolation:test-deps |
8 finding(s) over 32 test edge(s): ship-edge cleanliness -> export busbar-core-admin -> busbar-export-prometheus is 'not-allowed': the architecture grants no cleanliness -> export edge, and the ship c |
| kind-isolation-ship | kind-isolation:law0 |
5 hit(s) off the [[law0]] ceilings, 3 finding(s) over 14 neutral crate(s): law0-rise busbar × instance:secret 37 hit(s) against a ceiling of 35: this landing grew a neutral crate's instance vocabulary |
| kind-isolation-ship | kind-isolation:faces |
2 finding(s) over 40 crate(s): foreign-entry crates/busbar busbar is kind 'root' and implements 'Transport' 1 time(s) in shipped source — the entry face of kind 'transport'. A trait implementation is |
| kind-isolation-ship | kind-isolation:legacy-drain |
3 finding(s): transitional-live qa/kind-isolation.toml 'busbar-a2a -> busbar-core-admin' (legacy drain: the retiring A2A engine's tests drive the admin surface that drained into the cleanliness tier) |
| ship-ready | ship-ready:ship-twin |
'kind-isolation-ship' is not green: kind-isolation:deps (a dependency the architecture does not grant is still in the graph); kind-isolation:test-deps (a dependency the architecture does not grant is |
| structure-lint | structure-lint:plane-dup:unledgered |
22 finding(s): PLANE-DUPLICATE (module): 'config.rs' — a2a:crates/busbar-a2a/src/a2a/config.rs decisions:crates/busbar-plane-decisions/src/config.rs voice:crates/busbar-voice/src/config.rs (the ledger |
tests passed: 24707, failed: 0. Run: https://github.com/GetBusbar/busbar/actions/runs/38313302598 . Artifact verdict-161a883231742c462ee2adc93accf7f80fbc942d (failures.json, junit.xml, raw.log; 90 days).
…ener # Conflicts: # xtask/src/gates/population.rs
MattJackson
marked this pull request as draft
October 13, 2026 13:06
Collaborator
Author
#741 landed the same E1 listener move on predev (7fe0203, 5f189a7), so every E1 conflict takes predev's side: crates/busbar/src/root/listener.rs and crates/busbar-kernel/src/tls.rs (predev's comments name a plane's outbound identity, not busbar-a2a), xtask/src/gates/population.rs (predev replaced the hand-pinned FLOOR with the tracked-set reconciliation). qa/kind-isolation.toml: busbar x transport and busbar-kernel x transport each carry the same +17/-17 move on both sides, so theirs (224, 266) is taken, count and cite: adding both deltas would count the move twice. What this branch still adds over predev is crates/busbar-kernel/tests/no_socket.rs (the kernel's no-socket pin, E7); its PINNED list matches predev's kernel exactly (no new pair, none drained).
MattJackson
added a commit
that referenced
this pull request
Oct 13, 2026
… into lane-egress-e2-net-guard qa/kind-isolation.toml: predev's rows, plus this branch's own E2 drain. busbar x transport and busbar-kernel x transport: this branch carries the same E1 +17/-17 move #741 landed on predev, so theirs (224, 266) is taken, count and cite. busbar-kernel x plane: predev 1128 (row 156 and #674 drains since this branch's last predev, 1141) minus E2's own six (net_guard.rs and its two suites deleted: 1141 -> 1135 here) = 1122, predev's cite kept with E2's clause renumbered 1128 -> 1122. Every other row is predev's.
MattJackson
marked this pull request as ready for review
October 13, 2026 23:49
MattJackson
added a commit
that referenced
this pull request
Oct 14, 2026
qa/kind-isolation.toml busbar-kernel x plane: base 1128, ours 1124 (E5a's proxy-tunnel drain), theirs 1122 (E2's net_guard deletion): different drains, so theirs + ours - base = 1118, predev's cite kept with E5a's clause renumbered 1122 -> 1118. The kernel no-socket pin (#796) stays exact on the merged tree.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/status row 130 (E1 + E7): the hyper serve loop leaves busbar-kernel, and a test holds the kernel to the sockets it still has.
Plan: E1-E7 are the row's five items plus "every dial and listener", in order: E1 hyper serve, E2 net_guard, E3 duplex_ws dial, E4 hostless seam, E5 engine pool, E6 the kernel's own dials, E7 the proof.
E1: the serve loop moves to the root. The connector already binds the data and admin listeners (
Listening::bind_stream) and hands each admitted stream up. Serving that stream is now the root's job, incrates/busbar/src/root/listener.rs. It covers the hyper-util auto builder, graceful shutdown, the body-read bounds, the accept backoff and the connection-placement balancer. Sources:This is #741's change, redone on current predev. It supersedes #741, which went stale and conflicting. The details:
busbar-kernel/src/tls.rshad not changed since #710: rebalance the law0 ceilings for the verbatim listener move (architect ruling) #741's base, solistener.rsis the moved code with onlycrate::changed tobusbar_kernel::and the docs updated.Admits,Admitted) moves tobusbar-core-connector/src/listen.rs, next to theListeningthat implements it.tls.rskeeps onlyread_pem, which outbound callers still use.tokio-util.tls_tests.rsandbusbar/tests/tls_listener_h2.rsbecomeroot/tests/listener_tests.rsandlistener_h2_tests.rs. The connector's TLS-listener rows join them and keep predev's unique scratch-PEM names.Ledgers:
busbar-kernel x transportgoes 285 -> 268 andbusbar x transportgoes 208 -> 225. The total stays flat, as the Move the listener serve loop out of busbar-kernel into the root #710 ruling requires.root/listener.rsis a new file.E7: the proof. New test
crates/busbar-kernel/tests/no_socket.rs. It scans busbar-kernel's production source forTcpStream,TcpListener,UdpSocket,lookup_host,hyper_util::{client,server},serve_connection,tokio_tungstenite,reqwest::,socket2andaxum::serve. It also scans the[dependencies]asks:hyper-util,tokio-tungstenite,reqwestand tokio'snet.What the pin holds after this PR:
net_guard.rslookup_host. The next PR, stacked on this one, drains it.egress/duplex_ws.rs. Its one consumer is busbar-voice, deleted by FLIP-STREAMING: the streaming plane served through its door; busbar-voice deleted #503.egress/engine/*,egress/mod.rs,secure.rs) and its manifest asks.Not touched: #780's connector files, and rows 104 and 105.
Proof on the M3 prover:
cargo test -p busbar-kernel --test no_socket: 3 passed. The RED arm sees a planted dial, a resolver and a server stack.cargo test -p busbar --bin busbar root::listener: 17 passed. This covers the moved listener and h2 suites.cargo test -p busbar-core-connector --lib listen: 9 passed.Gates, clippy and the full suite are left to ModernCI.