Skip to content

oracle: golden/1.5.5 retires plugins.load|headroom-hook (OWNER 2026-09-30 headroom removed; HEADROOM-REMOVE); pin busbar-release c09bffd - #603

Merged
MattJackson merged 9 commits into
predevfrom
p6-headroom-retire
Oct 8, 2026
Merged

MattJackson merged 9 commits into
predevfrom
p6-headroom-retire

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

Retires the oracle cell plugins.load|headroom-hook as a whole, with a cited row in retired.tsv. The headroom plugin is no longer part of the product, so the cell has nothing to load.

Stack: this is step 3 of the oracle pin stack: #594 (4d52f387), then #602 (5bc6ab4), then this PR (c09bffd), then the D1 engine bump. It contains #594 and #602 and merges cleanly into predev. It lands after #602.

Ruling:

  • OWNER 2026-09-30, docs/design/BUSBAR-1.6.0.md:1158: "Delete hook headroom 100% keep the repo but remove from website". plugins.yaml excluded_repos agrees.
  • Coordinator ORACLE ruling 2026-10-07: retire the cell with a cited row, following the HEADROOM-REMOVE precedent (Q-SO2/Q-SO3, busbar-release builders.rs:544-546). This is not a mask and not an ACCEPTED entry. It gets no replacement id. PB-11's list-plugins proof on a fleet hook stays plugins.load|webrequest-hook, which has a 1.5.5 golden (ledger PASS) and carries PB-11. Its definition is unchanged.
  • The coordinator is listing this retirement to the owner as an FYI, which the owner can veto.

Changes:

  • oracle-rust.pin: 5bc6ab4 -> c09bffd8fcad, the merge of busbar-release openssf worksheet: drop the tool name the hygiene lint refuses #180, which drops the cell from the corpus. Dated paragraph included.
  • golden/1.5.5:
    • plugins.load__headroom-hook.json is removed, along with its ledger row.
    • retired.tsv gets a row dated 2026-10-07 citing the ruling above.
    • meta.json recorded: 1016 -> 1015.
  • cells.json: 2519 -> 2518 (core 990 -> 989, plugins 14 -> 13).
  • owed-baseline.txt drops the id.
  • design-bindings: PB-11 goes 14/14 -> 13/13.
  • The 11 admin.ops cells that only name busbar-headroom are untouched. They answer before any plugin is read.
  • The headroom-hook rows in plugin-digests.tsv stay. Nothing stages them, and no gate needs them removed.
  • Signed-entry count, for owner countersign: accepted-differences D-1 ("D-1 diagnostic codes") expected_cells 496 -> 495, with a dated COUNT note. The retired id was in D-1's scope. The scope, transform and premise are unchanged.

Proof:

…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)
…|headroom-hook whole (OWNER 2026-09-30, HEADROOM-REMOVE); no replacement id

The owner removed headroom from the product (docs/design/BUSBAR-1.6.0.md:1158, OWNER 2026-09-30:
"Delete hook headroom 100% keep the repo but remove from website"; plugins.yaml excluded_repos).
plugins.load|headroom-hook lists that plugin, so it cannot pass. The cell is retired because the
plugin it loads no longer exists. It is not a mask and not an accepted difference.

- oracle-rust.pin 5bc6ab4 -> c09bffd (busbar-release #180): the generator skips
  RETIRED_PLUGIN_LOADS (headroom-hook).
- cells.json: the definition goes; 2519 -> 2518, core 990 -> 989, plugins 14 -> 13.
- golden/1.5.5: the cell's bytes and ledger row go, with a cited retired.tsv row dated 2026-10-07;
  meta.json recorded 1016 -> 1015.
- owed-baseline.txt drops the id.
- accepted-differences D-1: expected_cells 496 -> 495 (plugins.load is in its family scope), with
  a dated COUNT note. Regex, transform and reach unchanged.
- design-bindings: PB-11's oracle-family plugins is 13/13.
- No replacement id: there is no plugin left to load. PB-11's list-plugins proof on a fleet hook
  is plugins.load|webrequest-hook (1.5.5 golden, ledger PASS), which already cites PB-11.
- plugin-digests.tsv keeps the headroom-hook pin rows: they are what the retired golden was
  recorded against, nothing stages headroom, and no gate reads them for this cell.
- The 11 admin.ops cells that name busbar-headroom only as an inert path or body are untouched.
@github-actions

github-actions Bot commented Oct 7, 2026

Copy link
Copy Markdown

promote into predev: BOARD @f13890d1c: 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/37683063482 . Artifact verdict-f13890d1c4b4baa3d4e9520ba4444af8a5615975 (failures.json, junit.xml, raw.log; 90 days).

@MattJackson

Copy link
Copy Markdown
Collaborator Author

Back to draft automatically: this branch contains #602 (p6-models-empty-golden), which is also ready. Two hops on the same code is duplicate spend (owner rule 2026-10-08). Mark this ready again after #602 merges.

Merged via the queue into predev with commit 41c1dc1 Oct 8, 2026
8 checks passed
@MattJackson
MattJackson deleted the p6-headroom-retire branch October 8, 2026 10:22
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