Skip to content

KN-3a: the loader's test connection tables take the transport they stand in for as data - #1010

Merged
MattJackson merged 1 commit into
predevfrom
lane-kn3a-stand-ins
Oct 15, 2026
Merged

MattJackson merged 1 commit into
predevfrom
lane-kn3a-stand-ins

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

Kernel neutrality KN-3a, following the coordinator's ruling (BUSBAR-1.6.0.md l.98-102, l.115-120). Stacked on #1005, whose ledger rows it strikes (rule 19: draft until #1005 lands).

  • crates/plugin-loader/src/stand_in.json + stand_in.rs: the facts the doubles stand in for, read as StreamFacts / FramedFacts. Stream: claim word and local-socket prefix. Framed: claim word, secured scheme and default port.
  • TcpConns::serving(facts, wake) and HttpsConns::framing(facts) take the facts as constructor data. new()/Default read stand_in.json, so existing callers are unchanged.
  • conformance/mod.rs (production, conformance feature) supplies the facts and spells no scheme.
  • Behaviour is unchanged: the data states the same words the code spelled.

RED: stand_in::tests::a_double_serves_only_the_transport_its_facts_name. c1 strikes 5 rows (conformance/mod.rs tcp; https_conns.rs http, https; tcp_conns.rs tcp, unix). law0: busbar-plugin-loader transport 186 -> 178.

…or as data (KN-3a, Law 0)

Coordinator ruling on KN-3a. Spec l.98-102: the core never knows what a scheme means. Spec
l.115-120: only the thing itself may name itself. The loader's TcpConns and HttpsConns are
doubles of a transport, so they take its facts as constructor data instead of spelling them.

- stand_in.json (new, beside stand_in.rs) states the stream double's claim word and local-socket
  prefix, and the framed double's claim word, secured scheme and default port. stand_in.rs reads
  it as StreamFacts / FramedFacts.
- TcpConns::serving(facts, wake): declare, serves_scheme and the local-socket dial read the facts
  (the `UNIX_PREFIX` const goes). TcpConns::new is serving(StreamFacts::stand_in()).
- HttpsConns::framing(facts): declare and serves_scheme read the claim word; a target must be of
  the secured scheme; a target naming no port is reached at the facts' default port; the reached
  URL splits at `://`. HttpsConns::new / Default are framing(FramedFacts::stand_in()).
- conformance/mod.rs supplies the facts (far_ends, conns, the restated outbound need) and spells
  no scheme.

Behaviour is unchanged: the data states the same words the code spelled.

RED: stand_in::tests::a_double_serves_only_the_transport_its_facts_name. A double handed planted
facts serves the planted word and refuses the one stand_in.json names.
qa/c1-literals.toml strikes conformance/mod.rs tcp, https_conns.rs http and https, and
tcp_conns.rs tcp and unix. qa/kind-isolation.toml busbar-plugin-loader transport 186 -> 178
(measured).
MattJackson added a commit that referenced this pull request Oct 15, 2026
… from the gates log of 80d5f03

- hooks parity (#989): the v1.5.5 hook corpus moves out of the kernel's source into
  testing/hook-parity/v1.5.5-hook-corpus.tsv, read by the count test; its origins are `proxy`/`core`
  and the constants PROXY_ORIGIN/CORE_ORIGIN (gate hook-parity-count reads them). The listing named
  plane, hook and export instances in a neutral crate: kernel x plane +84, x hooks +18, and the
  instance-noun-neutrality llm census.
- config-schema: a section a plane owns beside its declaring one is the endpoint DOOR only for the
  plane the kernel names its owner (EndpointSection::OWNER); any other is RAW, carried by
  DeployCfg::plane_raw, as the pre-pass lifts it since #966 (a2a's agent_push, #1001). Selftest: two
  doors under the owner stay RED; a non-owner's beside section is carried.
- reachability: serve_datagram.rs is the module `serve_datagram`, named for its file like serve_framed.
- teller-steps / libtest_path: door cells are read off the linked rows on the plane-door axis, the
  rows build.rs mounts since #1006 deleted [package.metadata.busbar.door-cells].
- plane-purity dialect / neutral-no-dialect: LegacyLaneKeys flattens ProviderLaneCaps rather than
  spelling its fields (#957).
- structure-lint: stand_in.rs's inline tests move to tests/stand_in_tests.rs (#1010).
- config-scope: auth/mod.rs's test-idp-module arm is braced like its sibling, so the scanner sees
  the `new` construction in the arm after it.
- instance-noun-neutrality mcp: the a2a client cell's rationale (and its capability-equality row)
  names no other plane.
- hold-escapes: host_disk.rs::start (#864's disk lane job loop) is a reviewed known site.
- hook-parity-count: the TODO's M4 row reads 181.
- design-bindings: PB-50's config.migrate family is 158 cells (#1026 added two).
- kind-isolation law0: busbar auth 24, instance:auth 10, instance:export 25, plane 525, transport 97
  are the merged tree's measure (#1038's figures were T+O-B over a virtual base carrying #993, #1017,
  #1020, which w2 does not carry); busbar-contract export 1 -> 0 and transport 226 -> 225 (slack).
Base automatically changed from lane-kn3-c1-widen to predev October 15, 2026 13:54
@MattJackson
MattJackson merged commit 85aa3df into predev Oct 15, 2026
@MattJackson
MattJackson deleted the lane-kn3a-stand-ins branch October 15, 2026 13:54
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