Skip to content

P5: extract store-memory to GetBusbar/busbar-store-memory (pinned); plugin-ci builds the release image the conformance suite loads - #783

Merged
MattJackson merged 8 commits into
predevfrom
lane-p5-extract-nonplane
Oct 13, 2026
Merged

MattJackson merged 8 commits into
predevfrom
lane-p5-extract-nonplane

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

P5 extraction, lane p5-extract-nonplane (/status row 57): store-memory. stdio is held back (see "Not in this PR").

Leaves busbar: busbar-store-memory, now GetBusbar/busbar-store-memory (#12, merged to dev).

  • The repo's logic crate is predev e1694a8's crates/store-memory byte for byte, with history imported by filter-repo.
  • Its -plugin cdylib runs busbar's published conformance suite (store script). plugin-ci is green, signing gate included.
  • Pinned at 848851e63a, one git dep (the root's store-memory linked row and the loader's store both-ways fixture) plus fixture-store at the same rev (the kernel's test-support stand-in).
  • The [patch] row for busbar-contract was already there. deny.toml allow-git gains the repo.

Ledger rows deleted with the crate:

  • qa/construction.toml: census store 1 -> 0. The package name is unchanged, so the pin excuses the drop.
  • Design-bindings: PB-38 and PB-99 strike the eight store-memory test citations that moved with the crate. Each row keeps its kernel tests. The ledger is regenerated.
  • Scan floors are re-pinned at the measured counts after the crate's two non-test files left: population 941 -> 939, tracing 971 -> 969.
  • qa/audit-ledger.json keeps the scopes (coordinator ruling on P5: extract webhook-signature, hook-ranking, auth header/sigv4/oauth; delete plane-example; outbound auth conformance suite #484). kind-isolation rows are unchanged: the census reads the pinned checkout at crates/busbar-store-memory, and the xtask plants on the store now land on that mount.

plugin-ci fix (4e9b306): the conformance step now builds the release cdylib before it runs the suite.

Not in this PR: busbar-transport-stdio.

Proof (M3 prover VM, debug, on the shipped tree acd4b0f9):

  • Lock and build: cargo metadata --locked, fmt check, cargo build --workspace --all-targets --locked.
  • Clippy: -D warnings on xtask and busbar-plugin-loader.
  • Tests: xtask (all), busbar-kernel (all) and busbar-plugin-loader are green, including the store conformance and store money acceptance tests.
  • Known reds that are not from this branch:
    • loader: 2 secret-env both-ways tests fail at base e1694a8 too (the secret-env cdylib isn't built in this environment).
    • busbar root: ledger_identity can't clone the private oracle engine here. export_plugin_dropped_in_serves::validate_reports... is flaky at base and on this branch alike (1 in 6 each).
  • Selftest: cargo xtask selftest passes all 64 gates.
  • Gates: cargo xtask gate --all matches base e1694a8 row for row, except that the two store-memory rows (forbid-unsafe-deny, manifest-allowlist) are gone. The red set is the base's own: kind-isolation, kind-isolation-ship, ship-ready.

…ads before it runs the suite

conformance::cdylib_of takes the uplifted target/release/<lib> or ONE hashed image (audit
loader-conformance #13, 1882521). cargo test builds the plugin's lib as a dependency of the test
target and does not uplift its cdylib, and a path crate's cdylib under deps/ carries no hash, so on
a runner with no cached image the release suite finds none: GetBusbar/busbar-store-memory#12, the
first plugin repo pinned at a busbar that carries #13, failed exactly so (run 38209702979) while its
debug run, after the build step's uplifted image, passed. Every repo pinned before #13 passes only
because an older suite also took the unhashed image.

The step now builds cargo build --release -p <crate> --lib, with dropped-in when the crate declares
it, as the build step builds the debug image.
…-memory, pulled at a pinned rev (P5 item store-memory)

BUSBAR-1.6.0.md §9 ("Every plugin lives in its own repo"); 1.6.0-TODO.md P5 (order: ... http;
store-memory; hook-ranking; ...).

- crates/store-memory deleted (snapshot: ~/Downloads/p5-extract-store-memory-e1694a8ca1.tgz). Its
  history, imported with filter-repo, is the logic crate of GetBusbar/busbar-store-memory#12 (head
  848851e63a, merged to dev as e752176673, plugin-ci green): src/ and tests/ are byte for byte
  predev e1694a8's crates/store-memory, and the -plugin cdylib runs busbar's published
  conformance suite (store script). The repo pins busbar 4e9b306, this lane's plugin-ci fix.
- One pin: busbar-store-memory = git at 848851e63a (the root's linked store-memory row on the store
  axis and the plugin loader's store both-ways fixture, unchanged package name), and the same package
  at the same rev as fixture-store, the kernel's test-support stand-in (a rev bump moves both lines).
  The [patch] row for busbar-contract was already there. deny.toml allow-git gains the repo.
  Cargo.lock: the package takes the git source and drops serde/serde_json (dev-only).
- Ledger rows deleted with the crate (its gates run in the plugin repo's CI): qa/construction.toml
  census store 1 -> 0 (the crate keeps its package name, so the pin alone excuses the drop);
  design-bindings PB-38 and PB-99 strike the eight store-memory test citations that moved with the
  crate (each row keeps its kernel tests), ledger regenerated with `cargo xtask gate design-bindings
  --write`. qa/audit-ledger.json keeps the crate's scopes (coordinator ruling: extraction moves a
  plugin's scopes, it never strikes them). kind-isolation's rows are unchanged: the census reads
  the pinned checkout at crates/busbar-store-memory.
- Scan floors re-pinned at the measured counts, the two non-test files (src/lib.rs, src/v3.rs)
  having left with the crate: population FLOOR 941 -> 939 (settings-leak, response-header,
  blocking-ffi), tracing SCAN_FLOOR 971 -> 969.
- xtask: the kind-isolation plants on the store move to the pinned mount crates/busbar-store-memory
  (the unit tests read through pinned::with_pinned, and kind_isolation_verdict reads the store's
  lib.rs from its pinned checkout); the registry's missed-member plant names crates/plugin-loader;
  structure-lint's plugin-dir fallback is crates/busbar-plane-decisions.
@github-actions

github-actions Bot commented Oct 12, 2026 •

Copy link
Copy Markdown

promote into predev: all green @f694912be

Already red on predev, not this PR's: 14
gate row detail
test:xtask-selftest ::xtask selftest kind-isolation
test:xtask-selftest ::xtask selftest no-deferral-strict-done
test:xtask-selftest ::xtask selftest plane-purity-strict
test:xtask-selftest ::xtask selftest unconstructed
test:xtask-selftest ::xtask selftest structure-lint
test:xtask-selftest ::xtask selftest plane-transport-neutrality
construction one-pick-site 3 production call site(s) of 'pick_among(' (ceiling 2): crates/busbar-kernel-egress/src/walk.rs:358; 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), 92 shipped edge instance(s) over 29 class(es), 92 declaration(s); 55 '[[dep]]' row(s), 0 question(s): unlisted-dep-edge legacy -> plane busbar-llm -> busbar-plane-llm is a shipped edge w
kind-isolation-ship kind-isolation:deps 8 finding(s) over 92 shipped edge(s): ship-edge kernel -> store busbar-kernel -> busbar-store-memory is 'not-allowed': the architecture grants no kernel -> store edge, and the ship criterion is the ar
kind-isolation-ship kind-isolation:test-deps 5 finding(s) over 31 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 c
kind-isolation-ship kind-isolation:faces 2 finding(s) over 40 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: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

tests passed: 24731, failed: 0. Run: https://github.com/GetBusbar/busbar/actions/runs/38347750157 . Artifact verdict-f694912bea72a71d03d89de5076d4ddc846255d2 (failures.json, junit.xml, raw.log; 90 days).

@MattJackson
MattJackson added this pull request to the merge queue Oct 12, 2026
@github-merge-queue
github-merge-queue Bot removed this pull request from the merge queue due to a conflict with the base branch Oct 12, 2026
@MattJackson
MattJackson added this pull request to the merge queue Oct 12, 2026
@MattJackson
MattJackson merged commit 235e1a3 into predev Oct 13, 2026
13 checks passed
@MattJackson
MattJackson deleted the lane-p5-extract-nonplane branch October 13, 2026 13:38
MattJackson added a commit that referenced this pull request Oct 13, 2026
Brings predev 235e1a3 (#795, #783). Conflicts: qa/DESIGN-BINDINGS.md and qa/design-bindings.json, the generated design-bindings ledger: predev's files taken, then only this branch's own rows re-applied in the generator's format: PB-35 cites every_request_is_verified_by_the_door_and_the_kernel_caches_no_verdict; PB-100 drops the three deleted hop tests (execute_hop_refuses_non_allowlisted_host, vet_hop_url_enforces_https_allowlist_and_blocks_metadata, execute_hop_does_not_follow_redirect); mapped test checks 430 -> 428 (+1 -3). The .md and .json agree row for row (104 bindings, 428 test checks).
MattJackson added a commit that referenced this pull request Oct 13, 2026
Brings predev 235e1a3 (#795 webrtc framer, #783 store-memory extracted). Conflict: Cargo.toml, both sides kept: predev's busbar-transport-webrtc member and media pins, busbar-store-memory pinned with its fixture-store role; this branch's own deletion of the a2a-lf / a2a-pb pins with busbar-a2a stands. cargo metadata --locked reads the merged lock.
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