Repository navigation
contract: delete the write-only scope-kind registry static (stacked on #994) - #996
Draft
MattJackson wants to merge 2 commits into
Draft
MattJackson wants to merge 2 commits into
MattJackson wants to merge 2 commits into
Conversation
…oves out of busbar-contract
THE DESIGN A.8 "Statelessness" (BUSBAR-1.6.0.md l.3701) and C.2 (l.3893: "Contract statics
(codec.rs, records.rs:94, ids.rs:330): deleted, with host tables used instead"). The image's one
vocabulary is process state, so it is the host's: busbar_kernel::vocabulary holds
Registration, MAX_VOCABULARY, VOCABULARY and FROZEN, moved verbatim but for the docs that
reasoned about a plugin reaching the interner (a plugin's closure is the contract, which now
holds none of it). Callers in the composition root and busbar-llm name busbar_kernel::Registration;
plane crates' docs name the host's interner in prose. qa/contract-stateless.toml strikes the
three ids.rs rows (LazyLock, FROZEN, VOCABULARY) this drains.
RED: the vocabulary tests move with it (busbar-kernel tests/vocabulary_{cap,freeze,resolve,intern}.rs),
naming busbar_kernel::Registration; the contract-stateless ledger no longer forgives ids.rs.
…ire carries every kind as data
THE DESIGN A.8 "Statelessness" (BUSBAR-1.6.0.md l.3701) and C.2 (l.3893, "records.rs:94 ...
deleted"). records::scope_kinds::REGISTERED was write-only: since 1.6.0 SDK-SCOPEKINDS the wire
serializes every kind (registered or not) under its own allowed_{kind}s field, and nothing in the
workspace read is_registered but its own test. The registry, register/is_registered and
register_scope_kind go; the kernel's plane fold stops registering scope kinds; the store
conformance fold's scope-kind round trip runs as before over the key's own data.
qa/contract-stateless.toml strikes the records.rs REGISTERED row this drains.
This branch has not been deployed
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.
CONTRACT-ABI lane, item 3 (contract statics, part 2). STACKED on #994 because both strike adjacent rows of
qa/contract-stateless.toml. It stays DRAFT until #994 lands (rule 19).THE DESIGN A.8 "Statelessness" (
docs/design/BUSBAR-1.6.0.mdl.3701) and C.2 (l.3893: Contract statics (codec.rs,records.rs:94,ids.rs:330): deleted). This PR deletes therecords.rs:94static.busbar_contract::records::scope_kinds::REGISTEREDwas write-only state. Since 1.6.0 SDK-SCOPEKINDS theVirtualKeywire serializes every scope kind under its ownallowed_{kind}sfield whether or not it is registered, because a dropped-in store's copy of the static was always empty. On predev the only reader ofis_registeredis the contract's own test precondition (tests/records_tests.rs:314). The writers are the kernel's plane fold (plane/registry.rs:331-340) and the store conformance fold (conformance/store.rs:838-839), and they wrote for nobody.records.rs:REGISTERED,scope_kinds::{register, is_registered},BUILTIN_POOL_KINDandregister_scope_kindare deleted.wire_field_for/kind_for_wire_field, the wire convention, stay, and the module doc says the wire is a carrier with no process state. The plane-noun counts in the file are unchanged (mcp 14, A2A 2, agent 4).busbar-kernel/src/plane/registry.rs: the scope-kind registration loop is deleted.plugin-loader/src/conformance/store.rs: the two registrations are deleted. The scope-kind round trip still runs over the key's own data.busbar-contract/src/tests/records_tests.rs: theregister_scope_kindcalls and theis_registeredprecondition are removed. The three wire tests (round trip, additive fields, unregistered kind verbatim) still pin the wire.qa/contract-stateless.tomlstrikes therecords.rsREGISTEREDrow: 41 → 40 on top of kernel: the word interner (Registration) moves out of busbar-contract #994.RED: the drain-only
contract-statelessledger no longer forgivesrecords.rs, so a reintroduced registry is a finding with no row. No behaviour moves: nothing read the registry.Not in this PR (reported to the coordinator):
transport/wire.rsNEXT_LISTENER_ID:Listener::new's one constructor isplugin-loader/src/transport_adapter.rs, which step 36: the legacy Transport trait is deleted; the boot seal reads transport rows from door facts #960 deletes with theTransporttrait. It goes withListenerafter step 36: the legacy Transport trait is deleted; the boot seal reads transport rows from door facts #960.abi/sdk/transport.rsmacro statics: loader, root, sdk: the HOT transport load path is deleted (row 84, S1; stacked on #928/#904) #932/loader, root, sdk: the HOT plane load path is deleted; abi/cold 43 -> 0 (row 84, S2; stacked on #932) #961 delete that file.testkit/warn_capture.rs(ONCE,GATE): test-only code (cfg(any(test, feature = "test-seal"))), which needs a ruling.codec.rs: the host-serviceOnceLocks thatbusbar-plane-llm's codecs call. That one is sequenced with the LLM lanes.No dependency change.