Repository navigation
P5: extract store-memory to GetBusbar/busbar-store-memory (pinned); plugin-ci builds the release image the conformance suite loads - #783
Merged
Conversation
…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.
promote into
|
| 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
added this pull request to the merge queue
Oct 12, 2026
github-merge-queue
Bot
removed this pull request from the merge queue due to a conflict with the base branch
Oct 12, 2026
MattJackson
added this pull request to the merge queue
Oct 12, 2026
…ned over predev: population 947, tracing 977
# Conflicts: # xtask/src/gates/population.rs # xtask/src/gates/tracing.rs
… removed (#707), extraction pins kept
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.
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.
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).
crates/store-memorybyte for byte, with history imported by filter-repo.-plugincdylib runs busbar's published conformance suite (store script). plugin-ci is green, signing gate included.store-memorylinked row and the loader'sstoreboth-ways fixture) plusfixture-storeat the same rev (the kernel's test-support stand-in).[patch]row for busbar-contract was already there.deny.tomlallow-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.qa/audit-ledger.jsonkeeps 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 atcrates/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.
conformance::cdylib_oftakes only the uplifted image or one hashed image.cargo testdoesn't uplift a dependency's cdylib, and a path crate's cdylib underdeps/has no hash. So a plugin pinned at a busbar that has deps: bump rustls-pki-types from 1.14.1 to 1.15.0 #13, on a runner with no cached image, finds no image.Not in this PR: busbar-transport-stdio.
crates/busbar-transport-stdio, and draft breaker: no protocol in kernel; the transport states its fault table, PIECE_END=128 rides the same framer lineage (row 66) #561 stacks on it.devalready holds transport stage B: carriers over the host's I/O (tcp, stdio), the connector drives every connection through a carrier #502's carrier version, pinned to busbar 5172cd4, which isn't on predev.reviewed_extraand census transport 1 -> 0, and the floors. It also needs a busbar-release change: the turnstile's "dropped-in stdio carrier" row runs-p busbar-transport-stdio.Proof (M3 prover VM, debug, on the shipped tree acd4b0f9):
cargo metadata --locked, fmt check,cargo build --workspace --all-targets --locked.-D warningson xtask and busbar-plugin-loader.ledger_identitycan'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).cargo xtask selftestpasses all 64 gates.cargo xtask gate --allmatches 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.