Skip to content

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

Merged
MattJackson merged 4 commits into
predevfrom
p6-oracle-cells-line-b
Oct 8, 2026

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

The ABI-o1 cell moves to a new id, plugins.abi|json-contract|store-sqlite@1.5-line, and the old id retires whole with a citation. This follows ARCHITECT ruling 2026-10-07 on #536, option (b), using the HEADROOM-REMOVE / Q-SO2/Q-SO3 precedent: the golden is immutable, so a changed input gets a new id.

Why. busbar-release now stages the ABI-o1 cell's plugin from the published 1.5 line (plugins_line: "1.5"). That changes the cell's input. Committed cells.json on predev lags what the pinned engine generates by exactly that field: ./bin/oracle cells --check rc=1, "first differing byte at offset 1178613". golden-guard refuses an in-place change to an existing id.

What changed:

  • oracle-rust.pin: 1869c0032e -> 4d52f387c4d1, the merge of busbar-release FOLD-A2A B7: a local answer longer than one reply window reaches the caller whole (stacked on #141) #177. It descends 1869c0032e, so the pin never moves backwards. A dated paragraph explains the move.
  • cells.json: copied verbatim from that engine's vendored product root. The old id is replaced by …@1.5-line.
  • golden/1.5.5:
    • the old id retires whole, with a cited row in retired.tsv (bytes and ledger row removed);
    • …@1.5-line is added from the PUBLISHED 1.5.5 by busbar-release's golden-add workflow (one cell file, one ledger row; meta count unchanged net).
  • owed-baseline.txt, PB citations (qa/design-bindings.json, DESIGN-BINDINGS.md, design_bindings/tables.rs) and the ABI-o1 entry's cells regex and premise ids now name the new id.

Proof (Latchkey cli-abf98834, on 02528dc = #493 + this; predev since then touches nothing under testing/shadow-oracle, bin/oracle or the design-bindings tables):

…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.
…ne-b: oracle-rust.pin keeps every lane's pin history in date order and names 4d52f387c4d1, which descends #493's 1869c0032ecf
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

promote into predev: BOARD @a3c9aa528: 2 failing test row(s), 11 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 (11)

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:testkit 16 finding(s) over 22 crate(s): no-battery kind:auth no battery for kind auth — none of its 4 crate(s) runs a shared conformance battery (no 'testkit' dev-dependency, no tests/conformance.rs). Candi
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 0fd08ee75: 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: 24672, failed: 1. Run: https://github.com/GetBusbar/busbar/actions/runs/37680908559 . Artifact verdict-a3c9aa528b169d4b43730b766ea76eeb4ade9ebc (failures.json, junit.xml, raw.log; 90 days).

@MattJackson
MattJackson added this pull request to the merge queue Oct 7, 2026
Merged via the queue into predev with commit a0f9f6f Oct 8, 2026
8 checks passed
@MattJackson
MattJackson deleted the p6-oracle-cells-line-b branch October 8, 2026 00:24
MattJackson added a commit that referenced this pull request Oct 8, 2026
) into p3-flip-llm

The auth split (P2 D1) links sigv4 and oauth by default and gives the process one set of outbound
auth instances (door_steps::process_auths). The door reach takes that set; the model-serving pools,
their live App handle and the config-apply refresh stay this line's. Manifests, lock and the
kind-isolation rows are predev's: its busbar-auth-oauth pin 98fb861d14 carries 360a0d2c46, the
compiled-in entry this line cherry-picked as 22abf69390, and its busbar-auth-header pin is newer.
door_steps keeps both: predev's upgrade-claim wording and this line's sealed_settings (the
dialect's host-label auth parameters) and DoorReach::models. qa/DESIGN-BINDINGS.md is regenerated.
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