Repository navigation
step 36: the legacy Transport trait is deleted; the boot seal reads transport rows from door facts - #960
Merged
Conversation
… transport rows from door facts (step 36) A transport reaches the connector only as its memory-ABI framer door. The kernel's serve and egress paths no longer call `busbar_contract::Transport`: the only reader left was the boot seal, which built every row as a trait object (`RootWire` over the connector's `HostWire`) to ask it `key()` and `composed_over()`, and `main` drops the sealed registry. So: - contract: `Transport` and `TransportConfigView` are deleted from `transport/mod.rs` and the crate root; `tests/object_safety.rs` keeps the transport's declarations (`Plugin`, `TransportMeta`). - root: `doors.rs` loses `RootWire` and `host_wire`; `build`/`served` answer the `HostWire` the host serves the door over. `LinkedTransport.build` takes the settings only (no transport names another, ARCHITECT Q128 U7). The seal (`registry::compose`) records `composed_over: None` for every row (a door naming a layer is refused at its build by `HostWire::new`) and registers every row under its own key. The generated linked tables (`linked_gen.rs`, build.rs's test table) refuse a transport row off the `transport-door` axis. - tests: `transport_composed_over_consistency` holds every linked wire to its key and to the shipped fold's empty layer; the generator test plants door rows and refuses a door-less transport row. - gates: kind-isolation's transport face is matched by its label (the contract defines no trait); the busbar × Transport `[[face]]` row is struck (no FACE_GRANTS entry), and with the ledger empty the face-ratchet and dead-face proofs plant a row of their own. construction's no-default-bodies strikes `Transport` in the same commit as the trait. Behaviour: identical. The registry holds the same keys, kinds and ABI; the boot opens every door it opened before and keeps its wire for the process.
…eless strike) into lane-kdel-k3-transport-face
This was referenced Oct 14, 2026
…R_ID are deleted (step 36) Listener::new's one caller was the loader's transport_adapter.rs, deleted above with the HOT transport lane; ListenerHandle existed only to sit behind a Listener. The type, the trait, the node-local identity static and their three re-exports go, with the two contract tests that exercised only them. qa/contract-stateless.toml strikes the wire.rs NEXT_LISTENER_ID row.
This was referenced Oct 14, 2026
…e-kdel-k3-transport-face
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.
KERNEL-DELETE lane, item 3 (TODO l.670, 770; qa/kind-isolation.toml faces; ARCHITECT R-C 2026-10-14). Stacked on #932 (row 84 S1, the HOT transport load path). Stays DRAFT per rule 19.
What changes:
busbar_contract::TransportandTransportConfigVieware deleted.RootWireandhost_wireare deleted from root/doors.rs.HostWirethe host serves it over, withcomposed_over: None. A door that names a layer is refused at its build byHostWire::new.transport-dooraxis.[[face]]row is struck. S1 strikes the loader row. No FACE_GRANTS entry is added.Transport.Behaviour is unchanged: the registry holds the same keys, kinds and ABI, every door is opened as before, and each wire is held for the process.
Sequencing (rule 20) — this waits on:
fetch::Transportimpl would read as a foreign face until busbar-a2a is deleted.