Skip to content

oracle: neutrality|models-empty|surface records /healthz first (ready 503) with its golden from published 1.5.5; pin busbar-release 5bc6ab4 - #602

Merged
github-merge-queue[bot] merged 8 commits into
predevfrom
p6-models-empty-golden
Oct 8, 2026
Merged

github-merge-queue[bot] merged 8 commits into
predevfrom
p6-models-empty-golden

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

Adds the oracle cell neutrality|models-empty|surface and its golden, recorded from the PUBLISHED 1.5.5. It also moves the engine pin to busbar-release 5bc6ab4, the merge of #179.

Stack. This is step 2 of the oracle pin stack: #594 (4d52f387) -> this PR (5bc6ab4) -> p6-headroom-retire (c09bffd) -> the D1 engine bump. It contains #594's commits and merges cleanly into predev. Land it after #594.

What the cell checks. It boots a config with no models and records GET /healthz as its first step, plus the surface around it. busbar-release #179 added the engine side:

  • capture.ready: {status: <code>} accepts exactly one ready status code and refuses every other form before boot.
  • This cell's ready status is 503, which is 1.5.5's /healthz answer when no models are configured.

What changes here:

  • oracle-rust.pin: 4d52f387 -> 5bc6ab4 (descends from it), with a dated paragraph.
  • cells.json: gains the spliced new cell. 2519 cells, core 990, neutrality 22.
  • owed-baseline.txt: gains the id.
  • golden/1.5.5: the golden-add artifact from busbar-release run 37630488567, recorded from the published 1.5.5. One cell file and one ledger row are added; meta goes 1015 -> 1016.
  • Signed-entry count, for owner countersign: accepted-differences D-1 ("D-1 diagnostic codes") expected_cells goes 495 -> 496, with a dated COUNT note. The new id falls under D-1's existing neutrality\| scope regex. The entry's scope, transform and premise are unchanged; only the expected count moves.

Proof (Latchkey cli-bde355cd, head 183c79c, engine 5bc6ab4):

…te@1.5-line; golden/1.5.5 retires the old id (ARCHITECT ruling 2026-10-07, #536 option b)

#536 added `capture.plugins_line: "1.5"` to plugins.abi|json-contract|store-sqlite, which is the line the
pinned generator emits. The promote hop's golden-guard refused it: the field changes the cell's input,
and a changed input is a NEW cell with a new id. ARCHITECT ruling 2026-10-07 (#536 option b,
HEADROOM-REMOVE precedent Q-SO2/Q-SO3, as the hooks cells moved to `@hooks-webrequest`):

- oracle-rust.pin 1869c0032ecf -> 0ff118af56f5 (busbar-release #177: the generator emits the cell as
  plugins.abi|json-contract|store-sqlite@1.5-line and no longer emits the old id). promote.yml RELEASE_REF
  does not move; the pin and RELEASE_REF have moved independently since 4a7a7bba.
- cells.json is `busbar-oracle cells --generate` at that engine. The old id's definition goes and the new
  id comes in with `plugins_line: "1.5"`; nothing else moves (2512 cells).
- golden/1.5.5 retires the old id whole, through one cited, add-only retired.tsv row: its bytes and its
  ledger row go together, and meta recorded goes 1015 -> 1014. No other golden file, ledger row or
  retire row changes. The new id is golden-added from the published 1.5.5 in the next commit.
- The id follows where it is cited:
  - owed-baseline.txt: the old id is renamed to the new one;
  - accepted-differences.json ABI-o1: ID RENAME ONLY. The `cells` regex becomes
    ^plugins\.abi\|json-contract\|store-sqlite@1\.5-line$ and the three premise probes name the new id.
    expected_cells (1), classes, rationale, premise logic, signoff and expiry are unchanged. No other
    accepted difference names the id. accepted-gaps.json does not name it;
  - xtask design_bindings tables.rs PB-11 names the new cell, and the design-bindings ledger is
    regenerated (that note text only).
…line from published 1.5.5; pin busbar-release 4d52f387 (the merge of #177)

busbar-release oracle-rerecord run 37606248051 (engine 0ff118af56f5, busbar ref p6-oracle-cells-line-b at
d53ff51) recorded the published 1.5.5 binary twice, fetched by pinned digest on ubuntu-latest
x86_64-unknown-linux-gnu. golden-check reproduced every committed cell byte for byte. golden-add then
added exactly one owed cell, plugins.abi|json-contract|store-sqlite@1.5-line ("golden-add: 1 new cell(s),
72 not owed and skipped"). Its bytes and ledger row are copied unchanged from the run's
golden-1.5.5-added artifact, and meta recorded goes 1014 -> 1015, as the artifact has it. No existing
cell, ledger row or retire row changes. The new cell's bytes are identical to the retired
plugins.abi|json-contract|store-sqlite: the published 1.5.5 was always staged the 1.5 plugin.

oracle-rust.pin moves from #177's head 0ff118af56f5 to its merge commit on busbar-release dev,
4d52f387c4d1. The two trees are identical.
…empty); pin busbar-release 5bc6ab4b1c (the merge of #179)

ARCHITECT ruling 2026-10-07, option A restricted (D2-PROTO busbar #545): the oracle never recorded a
config whose `models:` section is present and empty, because every config it writes names a model.
busbar-release #179 lets a capture cell declare its ONE exact ready status and generates the NEW
cell neutrality|models-empty|surface. The cell is ready at 1.5.5's healthz 503 "no usable lanes",
its first step records that answer, and then a minted key and nine requests: the three model
listings, unknown-model chats on the anthropic and openai doors, a wrong x-api-key, a wrong bearer
on the converse path, an unmatched path, and DELETE /v1/messages.

- oracle-rust.pin: 4d52f387c4d1 -> 5bc6ab4b1cb8, with a dated paragraph. RELEASE_REF does not move.
- cells.json: the generator's cell, at its sorted place (2512 -> 2513; core +1, neutrality 21 -> 22).
- owed-baseline.txt: the new id, so golden-add records it.
- accepted-differences.json: D-1's expected_cells goes 495 -> 496 with a dated COUNT note. The new
  cell falls under D-1's existing `neutrality` family; the regex, transform and reach are unchanged.
…blished 1.5.5 (add-only)

busbar-release oracle-rerecord run 37630488567 (published 1.5.5, ubuntu x86_64, at this branch's
corpus and busbar-release dev 5bc6ab4b1c) reproduced every committed cell (golden-check) and added
exactly one: neutrality|models-empty|surface. This commit copies the artifact's cell file, ledger
row and meta (recorded 1015 -> 1016) unchanged. No existing golden file or ledger row moves.

The recording is the surface D2-PROTO measured on v1.5.5 a71b21e:
- healthz 503 "no usable lanes";
- empty model lists in the openai, anthropic and gemini envelopes;
- 404 for an unknown model on /v1/messages and /v1/chat/completions;
- 401 for a wrong x-api-key, 403 AccessDeniedException for a wrong bearer on converse;
- the openai 404 on an unmatched path, and the anthropic 405 on DELETE /v1/messages.
…ne-b: oracle-rust.pin keeps every lane's pin history in date order and names 4d52f387c4d1, which descends #493's 1869c0032ecf
…-empty-golden: cells.json counts are both sides' (2519 cells, core 990)
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

promote into predev: BOARD @183c79c5f: 2 failing test row(s), 10 DENY row(s)

Failing tests (2)

crate test step first panic
transport_dropped_in_serves a_dropped_in_transport_registers_through_the_one_fold_and_serves test:dropped-in-tcp-transport crates/busbar/tests/transport_dropped_in_serves.rs:168:13: busbar exited (ExitStatus(unix_wait_status(512))) before serving; log:
-p busbar --test transport_dropped_in_serves test target failed test:dropped-in-tcp-transport

DENY rows (10)

gate row detail
construction one-pick-site 3 production call site(s) of 'pick_among(' (ceiling 2): crates/busbar-kernel-egress/src/walk.rs:298; crates/busbar-llm/src/engine/exhaustion/fallback.rs:120; crates/busbar-llm/src/engine/pipeline.rs:8
kind-isolation kind-isolation:deps 3 finding(s), 93 shipped edge instance(s) over 32 class(es), 93 declaration(s); 57 '[[dep]]' row(s), 0 question(s): unlisted-dep-edge legacy -> plane busbar-llm -> busbar-plane-llm is a shipped edge w
kind-isolation kind-isolation:test-deps 4 finding(s), 44 test edge instance(s) over 26 class(es), 44 declaration(s); 27 '[[dep]]' row(s), 0 question(s): unlisted-dep-edge cleanliness -> legacy busbar-core-admin -> busbar-a2a is a test edge
kind-isolation-ship kind-isolation:deps 13 finding(s) over 93 shipped edge(s): ship-edge kernel -> hooks busbar-kernel -> busbar-hook-ranking is 'not-allowed': the architecture grants no kernel -> hooks edge, and the ship criterion is the a
kind-isolation-ship kind-isolation:test-deps 18 finding(s) over 44 test edge(s): ship-edge cleanliness -> export busbar-core-admin -> busbar-export-prometheus is 'not-allowed': the architecture grants no cleanliness -> export edge, and the ship
kind-isolation-ship kind-isolation:faces 3 finding(s) over 39 crate(s): foreign-entry crates/busbar busbar is kind 'root' and implements 'Transport' 1 time(s) in shipped source — the entry face of kind 'transport'. A trait implementation is
kind-isolation-ship kind-isolation:shape 2 deviation(s) over 10 crate(s): entry-count crates/busbar-transport-http busbar-transport-http implements 'Transport' 3 time(s) in shipped source (its 'impl' blocks plus its door tails); every crate
kind-isolation-ship kind-isolation:legacy-drain 3 finding(s): transitional-live qa/kind-isolation.toml 'busbar-a2a -> busbar-core-admin' (legacy drain: the retiring A2A engine's tests drive the admin surface that drained into the cleanliness tier)
ship-ready ship-ready:ship-twin 'kind-isolation-ship' is not green: kind-isolation:deps (a dependency the architecture does not grant is still in the graph); kind-isolation:test-deps (a dependency the architecture does not grant is
structure-lint structure-lint:plane-dup:unledgered 22 finding(s): PLANE-DUPLICATE (module): 'config.rs' — a2a:crates/busbar-a2a/src/a2a/config.rs decisions:crates/busbar-plane-decisions/src/config.rs voice:crates/busbar-voice/src/config.rs (the ledger

Judged against base 41f2dc1f7: 0 new red, 0 worse, 6 standing (excused).

Reused PASS by input key (1, 0 min not re-run)
step key produced by
build:deletion-matrix 319be551982a507a 256db04ef

tests passed: 24679, failed: 1. Run: https://github.com/GetBusbar/busbar/actions/runs/37683030041 . Artifact verdict-183c79c5fc43f01884833250971f6d7b1dfe5568 (failures.json, junit.xml, raw.log; 90 days).

@MattJackson
MattJackson added this pull request to the merge queue Oct 7, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to invalid changes in the merge commit Oct 8, 2026
@MattJackson
MattJackson added this pull request to the merge queue Oct 8, 2026
@github-merge-queue
github-merge-queue Bot merged commit 183c79c into predev Oct 8, 2026
8 checks passed
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to it being already merged Oct 8, 2026
@MattJackson
MattJackson deleted the p6-models-empty-golden branch October 10, 2026 02:28
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