Repository navigation
oracle: neutrality|models-empty|surface records /healthz first (ready 503) with its golden from published 1.5.5; pin busbar-release 5bc6ab4 - #602
Merged
Conversation
…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)
…models-empty-golden
MattJackson
enabled auto-merge
October 7, 2026 20:34
promote into
|
| 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
added this pull request to the merge queue
Oct 7, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to invalid changes in the merge commit
Oct 8, 2026
MattJackson
added this pull request to the merge queue
Oct 8, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to it being already merged
Oct 8, 2026
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.
Adds the oracle cell
neutrality|models-empty|surfaceand 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 /healthzas 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.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.expected_cellsgoes 495 -> 496, with a dated COUNT note. The new id falls under D-1's existingneutrality\|scope regex. The entry's scope, transform and premise are unchanged; only the expected count moves.Proof (Latchkey cli-bde355cd, head 183c79c, engine 5bc6ab4):
cells --checkrc=0: matches the generator (2519).golden-guard --base a3c9aa528b(oracle: the ABI-o1 cell moves to plugins.abi|json-contract|store-sqlite@1.5-line; golden/1.5.5 retires the old id and adds the new one from published 1.5.5; pin busbar-release 4d52f387 #594's head) rc=0: add-only holds.replay-selftestrc=0.^(neutrality|plugins\.(abi|load))\|: record rc=0 (31 cells, plus widened premises), replay rc=1.neutrality|models-empty|surfaceis PASS identical.