Repository navigation
busbar-core-admin: tests drop the busbar-export-prometheus dev-dep; named-map tests resolve on the kernel's scrape double - #571
Merged
Conversation
…xport-prometheus, busbar-auth-oidc, busbar-auth-oidc-plugin) R-FIX3 (spec l.3894): the kernel's own tests run on in-crate test doubles, linked only; the real-plugin proofs move to the composition root. - test_support::export_axis: the stand-in axis answers the frozen scrape module word with ScrapeDouble (first-party, one_instance, metrics stream, the two scrape routes) when no installed row answers it. - scrape/config/migrate/projection/plugin tests resolve against the double; the one-instance refusal asserts the double's own words. - metrics_source / snapshot_hooks tests read the snapshot through the test view instead of the prometheus renderer. - auth plugin_chain_tests: the role-binding test runs on an in-process module; the untrusted-row test on a row whose bytes are not a library. - Moved, real plugin: crates/busbar/tests/auth_plugin_chain.rs (5 tests), export_scrape_linked_sink.rs (byte-identical render), and the 1.5.5 second-instance line in export_settings_refusal_1_5_5.rs.
…dependency R-FIX3 (spec l.3894): the named-map tests resolve `module: prometheus` against the kernel's stand-in export axis, whose scrape double answers it as a linked first-party scrape sink; no plugin is named. The real scrape sink's proofs live with the composition root (crates/busbar/tests).
…he tree no longer has busbar-kernel -> busbar-export-prometheus and -> busbar-auth-oidc are gone from the test graph (their drain clauses, done); the gate reported both as dead-dep-edge. No row is added.
…-prometheus test-edge row the tree no longer has The drain clause is done (the named-map tests resolve on the kernel's stand-in axis). No row is added.
MattJackson
enabled auto-merge
October 7, 2026 14:38
…o lane-gb-core-admin-plugin-tests
MattJackson
marked this pull request as draft
October 8, 2026 03:33
auto-merge was automatically disabled
October 8, 2026 03:33
Pull request was converted to draft
Collaborator
Author
promote into
|
| 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), 94 shipped edge instance(s) over 31 class(es), 94 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 |
3 finding(s), 32 test edge instance(s) over 18 class(es), 32 declaration(s); 17 '[[dep]]' row(s), 0 question(s): unlisted-dep-edge cleanliness -> legacy busbar-core-admin -> busbar-a2a is a test edge |
| kind-isolation | kind-isolation:law0 |
23 finding(s) over 14 neutral crate(s): law0-rise busbar × auth 68 hit(s) against a ceiling of 46: this landing grew a neutral crate's instance vocabulary. Ceilings only fall (measured on predev f830f |
| kind-isolation-ship | kind-isolation:deps |
11 finding(s) over 94 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 |
7 finding(s) over 32 test edge(s): ship-edge cleanliness -> legacy busbar-core-admin -> busbar-a2a is 'not-allowed': the architecture grants no cleanliness -> legacy edge, and the ship criterion is th |
| kind-isolation-ship | kind-isolation:law0 |
23 finding(s) over 14 neutral crate(s): law0-rise busbar × auth 68 hit(s) against a ceiling of 46: this landing grew a neutral crate's instance vocabulary. Ceilings only fall (measured on predev f830f |
| 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 |
Denied because (2)
- shard 1/4: gate:kind-isolation row kind-isolation:law0: figure rose 18 -> 23
- shard 1/4: gate:kind-isolation-ship row kind-isolation:law0: figure rose 18 -> 23
Judged against base abc07fea9: 0 new red, 2 worse, 3 standing (excused).
tests passed: 24158, failed: 0. Run: https://github.com/GetBusbar/busbar/actions/runs/38019438231 . Artifact verdict-7e049173fb9f8cb3d0725e8e5bdf5e1684f67789 (failures.json, junit.xml, raw.log; 90 days).
…min export-prometheus and auth-oidc dev-deps, and their kind-isolation rows
This was referenced Oct 14, 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.
busbar-core-admin's
[dev-dependency]on the plugin cratebusbar-export-prometheusis removed. PR #502 puts the pinned plugin checkouts into the kind-isolation census, and that exposed this edge as a kind-isolation-ship finding (cleanliness -> export).Ruling. Coordinator, 2026-10-07: spec BUSBAR-1.6.0.md l.3870 (FIXTURES (3)) and R-FIX3 (l.3894) apply, so the edge is MOVED, not granted. This PR adds no ledger row, no grant and no ceiling change. It strikes the one
[[dep]]row whose drain clause this completes.Stacked on #570 (
lane-gb-kernel-plugin-tests). This PR uses that PR's kernelScrapeDouble, so its diff carries #570's commits until #570 lands.What changed
src/tests/tests.rs::linked_export_axisnow installs the kernel's stand-in export axis (busbar_kernel::test_support::export_axis::install_export_axis). The axis's scrape double answersmodule: prometheusas a linked, first-party, one-instance scrape sink. It used to register the real sink's door (busbar_export_prometheus::door::door).Cargo.toml: the dev-dependency is dropped (Cargo.lock updated).qa/kind-isolation.toml: thebusbar-core-admin -> busbar-export-prometheustest row is struck.Mapping (old path::fn -> new path::fn)
No test moves. Every test below stays at
crates/busbar-core-admin/src/tests/tests.rs::<same fn>and now resolvesmodule: prometheuson the double.test_admin_v1_overlay_reset_named_map_section_reverts_to_basetest_admin_v1_overlay_reset_named_map_refuses_a_dangling_referencelimit_zero_does_not_produce_a_self_referential_cursortest_admin_v1_named_maps_list_get_and_put_round_triptest_admin_v1_named_map_put_honors_expected_versiontest_admin_v1_named_map_rejects_an_under_scoped_callertest_admin_v1_identity_provider_refuses_raising_max_admin_scopetest_admin_v1_export_put_that_adds_a_route_reports_restart_requiredtest_admin_v1_identity_provider_validates_an_unreferenced_definitiontest_admin_v1_identity_provider_rejects_an_unknown_moduletest_admin_v1_identity_provider_delete_rejects_a_dangling_referencetest_admin_v1_named_map_put_rejects_what_the_file_parser_rejectstest_admin_v1_named_map_read_flags_an_unparseable_overlay_entryNo test needed the real sink. Its rendering and 1.5.5 words are proven at the composition root by #570 (
crates/busbar/tests/export_scrape_linked_sink.rs,export_settings_refusal_1_5_5.rs). The test count is unchanged.Red before green. This PR adds no new double:
ScrapeDoubleis #570's, and its red runs are in #570. Under those mutations (scrape detection off, the grant lending nothing, the one-instance refusal dropped), 9 tests went red.Proof
Latchkey (large), this branch's head (origin/predev ba985a8 + #570 + this).
cargo fmt --all --check: exit 0.cargo clippy -p busbar-core-admin --all-targets -- -D warnings: exit 0.cargo test -p busbar-core-admin --no-fail-fast(unfiltered): exit 0. The lib suite is 450 passed, 0 failed; the other binaries are 2 passed and 0. The base merge-group CI runs on origin/predev are green, so there are no pre-existing failures.cargo xtask gate --all:kind-isolation,kind-isolation-ship,ship-ready. Base e107253 is RED in the same three.row → statuspairs are identical to base.kind-isolation-ship:test-depsgoes from 22 findings over 48 test edges on base, to 20 over 46 with busbar-kernel: tests drop the plugin dev-deps (export-prometheus, auth-oidc); doubles in-crate, real-plugin proofs at the root #570 alone, to 19 over 45 here.busbar-core-admin -> busbar-export-prometheusis gone from the census (no longer in the row text).kind-isolation:test-deps: 6 findings on base, 6 here, with 45 edges and 27[[dep]]rows (base: 48 edges, 30 rows).cargo xtask gate kind-isolation --selftest: exit 0.cargo xtask selftest: exit 0 (64 gates, every one proven able to go RED). Both are required becauseqa/kind-isolation.tomlis touched.