Skip to content

row 155 B1a: DEFAULT_PROTOCOL leaves busbar-kernel; the 1.5.5 refusals of the provider dialect keys are pinned - #937

Open
MattJackson wants to merge 3 commits into
predevfrom
lane-p3-llm-b1-provider-tables
Open

MattJackson wants to merge 3 commits into
predevfrom
lane-p3-llm-b1-provider-tables

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

Row 155 B1, first slice (B1a). Not a money ($) change. Not run locally: per the lane rules there is no cargo build/test/clippy/xtask on the laptop, only cargo fmt. ModernCI is the proof.

What

  • DEFAULT_PROTOCOL = "anthropic" and default_protocol() are deleted from busbar-kernel (config/providers.rs:112). ProviderCfg::protocol becomes #[serde(default)]: an omitted key is empty, and the kernel fills in no dialect.
    • Governing lines:
      • BUSBAR-1.6.0.md Part 2 ci: close the gaps the 1.5.3 release found, at the root #49: "Core/kernel contains zero plane-instance literals ... and zero transport-protocol/scheme literals".
      • Part 0 THE DESIGN §4: "A plane receives, at open, the dialect fields of the providers it references and resolves model → dialect itself; the kernel checks no dialect".
      • Part 2 #1: "Core names ZERO plane types".
    • The omitted-key default is the llm plane's own (busbar-plane-llm exchange::shaping::DEFAULT_PROTOCOL).
  • No customer-visible byte moves.
    • Only a direct ProviderCfg parse ever reached the kernel default, and only tests do that.
    • The catalog's ProviderDef::protocol is required (1.5.5 too, and pinned below), so every resolved provider carries the catalog's dialect.
    • config-schema.snapshot.json is unchanged: it already records ProviderCfg.protocol as optional: true.
  • Pins for the coordinator's validation guard. The dialect keys' refusals must stay byte-identical to 1.5.5 in text, order, field path and boot-time stage. crates/busbar-kernel/src/config/tests/provider_refusal_pins.rs pins each 1.5.5 refusal of protocol, error_map, path and path_base that no oracle cell or test already pinned:
    • the deployment invalid-type sentences, each at its own line/column;
    • the catalog missing field \protocol``;
    • the composed-destination refusals base_url+path and base_url+path_base (v1.5.5 crates/busbar/src/config_validate/mod.rs:406 and :430), in order.
    • Already pinned elsewhere, so not repeated: BOOT-020 (unknown protocol), BOOT-022 (StatusClass), BOOT-026..029 (leading /), BOOT-122 (catalog protocol type) and NEUT-U-providers (unknown key).

RED

config::tests::an_omitted_provider_protocol_names_no_dialect_in_the_kernel. On base, an omitted protocol: read the kernel's dialect name; after this PR it is empty.

Rows drained (before → after)

  • qa/c1-literals.toml: finding c1-literals:literal · crates/busbar-kernel/src/config/providers.rs · anthropic: 1 → struck.
  • qa/construction.toml kernel known_sites: crates/busbar-kernel/src/config/providers.rs :: anthropic: 1 → struck.
  • scripts/plane-grep-gate.sh ALLOWLIST: anthropic|crates/busbar-kernel/src/config/providers.rs|DEFAULT_PROTOCOL: 2 rows → 1. The row would now suppress nothing and fail the dead-row check.
  • plane-purity frozen-wire pragmas in busbar-kernel: the production one (providers.rs) and its test-scope twin (serde_default_fns_return_their_documented_constants) are deleted.

The B1 field split (lane design; not all in this PR)

  • Core-owned, typed in the kernel: base_url, api_key (SecretRef), health, allow_metadata_hosts, and the outbound-auth binding auth, token_url, scope, subject.
  • Provisionally core-owned, pending the ARCHITECT ruling: path and path_base. The boot destination guard composes base_url+path and base_url+path_base (config_validate/mod.rs:2281-2335).
  • Plane-shaped, carried by core as an opaque table the llm plane parses: protocol (core reads it only as an opaque word through contract MODEL_PROTOCOL_KEYS for the auth default style, #50), error_map, organization, project, max_output_key, anthropic_adaptive_thinking, native_structured_output, model_capabilities.

What follows (not this PR)

Shared-file note

crates/busbar-kernel/src/config/tests/tests.rs is also touched by #900 (and draft #571). The hunks are disjoint: lines 1-10, around 1440-1580, and around 2240.

…the provider dialect keys are pinned (row 155 B1a)

The kernel named a dialect as the serde default for an omitted provider `protocol:`
(config/providers.rs, `DEFAULT_PROTOCOL = "anthropic"`). BUSBAR-1.6.0.md #49: the kernel
contains zero transport-protocol literals; THE DESIGN §4: a plane receives the dialect fields of
the providers it references and resolves model -> dialect itself. The const and its
`default_protocol()` are deleted; `ProviderCfg::protocol` is `#[serde(default)]` (empty, the
kernel fills in no dialect). Only a direct `ProviderCfg` parse reached that default (tests); the
catalog's `ProviderDef::protocol` is required, so every resolved provider carries the catalog's
dialect and no customer-visible byte moves. The config-schema snapshot already records the field
as optional and does not change.

RED: config::tests::an_omitted_provider_protocol_names_no_dialect_in_the_kernel (base: the
omitted key read the kernel's dialect name).

Pins (coordinator guard: the dialect keys' validation stays byte-identical to 1.5.5):
config/tests/provider_refusal_pins.rs pins the 1.5.5 refusals of protocol, error_map, path and
path_base no oracle cell or test pinned: the deployment invalid-type sentences at their
positions, the catalog missing-`protocol` sentence, and the composed base_url+path /
base_url+path_base metadata refusals (v1.5.5 crates/busbar/src/config_validate/mod.rs:406, :430).

Rows drained:
- qa/c1-literals.toml: the c1-literals:literal finding providers.rs `anthropic` struck.
- qa/construction.toml: known_site `crates/busbar-kernel/src/config/providers.rs :: anthropic` struck.
- scripts/plane-grep-gate.sh: the `anthropic|...providers.rs|DEFAULT_PROTOCOL` ALLOWLIST row struck
  (it would suppress nothing and fail the dead-row check).
- one plane-purity frozen-wire pragma (providers.rs) and its test-scope twin deleted.
… from a literal (clippy useless_format); busbar-kernel x plane 1122 -> 1121, the drain DEFAULT_PROTOCOL's removal gave (Law 9); merged origin/predev

This branch has not been deployed

No deployments
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