Repository navigation
row 155 B1c-1: the plane states its provider keys as a neutral descriptor in its Statement (dormant seam) - #981
Merged
Conversation
…ptor in its Statement; the loader and the kernel's door fold keep it (dormant) ARCHITECT ruling "Option A": a provider entry's plane keys are DATA the plane declares through its Statement, in a neutral shape vocabulary, per form, in frozen order, each with a required flag; core holds no plane key name. - busbar-contract: provider_keys (ProviderKeys / Table / Key / Shape: str, one-of, int, bool, list, str-map, table), its JSON encode/decode under the one Statement-extensions key `provider_keys`; decode refuses any other shape word. extensions::entry/entry_len build an entry at compile time. - busbar-plane-llm: meta::PROVIDER_KEYS states the catalog, deployment and entry forms (ProviderDef, ProviderDeploy, ProviderCfg field order, the kernel's keys left out; model_capabilities a nested deny-unknown table); the door's Statement carries it in its extensions. - plugin-loader: ServedFacts / PlaneRegistration::provider_keys, judged at bind. - busbar-kernel: the door fold keeps it; plane::door::provider_keys() reads it. Nothing consumes it: unwired seam U19, wiring owner B1c-2. Tests: the contract round trip and the RED for a non-neutral shape word; the plane's door and the loader carry the declared descriptor; the kernel fold keeps it; the drift guard (busbar-llm) holds each form's declared keys to the frozen struct's serde field order, required flags, shapes, one-of words and unknown-key rule.
Collaborator
Author
|
#1028 also edits crates/busbar-llm/src/engine/mod.rs (adds |
Collaborator
Author
|
Rule 20 note from #1030 (row 155): disjoint hunks in crates/busbar-plane-llm/src/plane_door.rs (the abi::plane import, Answer.tap_fault, to_caller, deliver). A test merge is clean. |
Collaborator
Author
|
Rule 20 note from #1031 (row 155, draft): one more disjoint line in plane_door.rs (far_end's ReplyCtx gains translate_cap). A test merge is clean. |
MattJackson
added a commit
that referenced
this pull request
Oct 15, 2026
…e pinned decisions plane on a busbar rev that holds its contract - busbar-plane-decisions re-pinned 0ac65e1 -> 8b214c02cc: the plugin repo now pins busbar fca71d1 (this branch), whose contract carries the PlaneTail::metric_lanes, RefusalReason::CredentialUnavailable and HostCtx::NONE its ported edits use; its own workspace failed to build at 5c99bef (test check's dropped-in step). One busbar-contract in Cargo.lock (the [patch] path). - kind-isolation:law0: five rows settled to the union's measure, each at or under the merge-base's own row: busbar x instance:secret 13 -> 16, busbar x plane 583 -> 620, busbar-contract x instance:secret 43 -> 45, busbar-kernel x plane 1071 -> 1068, busbar-kernel x transport 203 -> 220. - kind-isolation:law0-base busbar x vendor (143 -> 144): #988's cap.perf.streams-2000 named its upstream's dialect in a root test literal; the provider row is test data (fixtures/streaming_mock_provider.yaml), as fixtures/mock_provider.yaml already is. - kind-isolation:test-deps: the busbar-kernel -> busbar-contract test edge #941 (#65) added (the dev-only test-seal) gets its [[dep]] row, count 1. - kind-isolation:test-deps plane -> plugin-tooling: #981 named the loader from a second busbar-plane-llm test file; its two loader cells move into tests/conformance.rs, the one file the conformance-witness grant covers. - structure-lint:plane-dup: armed at the measured 46 (Law 9; #787's 42 less six drains, plus ten names #503 and #787 each saw only once both homes moved), the stale Outbound and Route rows struck. - plane-secret-blindness: the a2a push.rs exposes-secret-bytes row is struck (drained). - script-allowlist: #972's scripts/store-migration-fixture.sh gets its entry.
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.
Row 155 B1c-1. Not a money ($) change. Dormant: customer-visible behaviour is unchanged; nothing parses a provider entry from the descriptor yet. Not run locally: only
cargo fmt; ModernCI is the proof.The seam (ARCHITECT ruling "Option A", coordinator-approved B1c-1/B1c-2 split)
A provider entry's plane-owned keys are DATA the plane declares through its Statement. They use a neutral shape vocabulary, are listed per form in frozen order, and each carries a required flag. Core holds no plane key name.
provider_keys.ProviderKeys { catalog, deployment, entry }. Each form is aTable { deny_unknown, keys }; eachKey { name, shape, required }.Shapehas seven words:str,one-of,int,bool,list,str-map,table(a nested struct with its keys anddeny_unknown).encode/decodeunder the ONE Statement-extensions keyprovider_keys(EXT_PROVIDER_KEYS).decoderefuses any other shape word, unstated or missing members, a key named twice, and an empty or repeatedone-of.abi::mechanism::extensions::{entry, entry_len}build one extensions entry at compile time, because a door's Statement isconstdata.meta::PROVIDER_KEYSstates the three forms.ProviderDef/ProviderDeploy/ProviderCfgin field order, with the core keys left out (row 155 B1b: the resolved provider carries its plane keys as one opaque table under the neutral merge #957'sbase_url,path,path_base,api_key,auth,token_url,scope,subject,health,allow_metadata_hosts).protocol,error_map,organization,project,max_output_key(one-ofmax_tokens|max_completion_tokens),anthropic_adaptive_thinking,native_structured_output,model_capabilities(a list of a deny-unknown table, fromModelCapabilities).protocol, entryerror_map, rulemodels.extensions(octets).ServedFacts::provider_keysis read off the Statement's extensions and judged at bind.PlaneRegistration::provider_keysis the new field; the other construction sites are updated.PlaneRegistration).plane::door::provider_keys()reads it. Nothing consumes it: it is unwired seam U19 in the TODO's table, wiring owner B1c-2.Tests
busbar-contractprovider_keys_tests::a_descriptor_round_trips_through_its_encoding(encode, decode, equal), plusthe_descriptor_is_read_off_the_one_extensions_key.a_non_neutral_shape_word_is_refused.secret,string,duration,{enum: …}, a non-neutral word inside alistand one inside a nestedtableare each refused, naming the word and the vocabulary.the_encoding_states_exactly_its_memberscovers the closed encoding.busbar-llmengine::provider_keys_drift_tests): busbar-llm is where both the frozen structs and the plane are reachable, and the guard adds nobusbar_kernel::line.missing field), each shape (every key written in its shape parses), eachone-of's words and their order (serde'sunknown variant … expected …), and each table's unknown-key rule, nested tables included.tests/provider_keys.rs. The door's rendered Statement carries the descriptor byte for byte under the key, and the one loader'sregistrationhands it on decoded.door_tests::the_provider_keys_a_door_states_are_kept_by_the_fold.extensions_tests::an_entry_built_at_compile_time_is_the_encoded_entry.Rows
No ledger row moves. The kernel and contract text names no plane package or id (kind-isolation presence unchanged). No kernel string literal is added outside tests, and the test literals are neutral words. No
busbar_kernel::line is added in a plane crate.Queue rule 20
Hunks are disjoint from the open PRs on the same files (#959, #931 TODO; #897
plane_calls.rs; #890plane_door.rs; drafts #957, #966, #960, #891).git merge-treeagainst each and origin/predev is clean.