Skip to content

kind-isolation :testkit: a battery that invokes the published conformance suite is a live battery - #541

Merged
MattJackson merged 2 commits into
predevfrom
lane-gb-testkit-suite
Oct 7, 2026
Merged

MattJackson merged 2 commits into
predevfrom
lane-gb-testkit-suite

Conversation

@MattJackson

Copy link
Copy Markdown
Collaborator

GATE-BURN (/status row 88, spec exit point 3: cargo xtask gate --all green on predev).

What

kind-isolation:testkit (ship twin) flagged busbar-plane-decisions battery-ignored. That was a false positive: the coordinator ruled (b) on 2026-10-07 that it's a gate defect, not a case for a rename.

crates/busbar-plane-decisions/tests/conformance.rs runs busbar's published suite through busbar_plugin_loader::conformance_suite!. The macro expands to the suite's #[test] entries (crates/plugin-loader/src/conformance/mod.rs:1445-1485). The battery counter read only literal #[test] attributes, so it scored this running battery as one with no entry. In the merge-group verdict for d526455, nextest PASSes busbar-plane-decisions::conformance the_linked_and_the_dropped_in_door_are_one_plugin and red_*.

Fix: the counter counts every invocation of the published macro that names a door: subject. Two cases stay battery-ignored: an invocation with no subject, which expands to nothing, and a file that defines its own conformance_suite macro, which isn't the published suite.

Self-test, 3 new cases:

  • green: a live invocation over a door;
  • red: an empty invocation;
  • red: a file-local shadow macro.

Proof (Latchkey, base predev d07eaf7)

…ance suite is a live battery

busbar-plane-decisions' tests/conformance.rs runs busbar's published suite through
busbar_plugin_loader::conformance_suite!, which expands to the suite's #[test] entries
(crates/plugin-loader/src/conformance/mod.rs). The battery counter read only #[test]
attributes, so it scored that running battery as one with no entry (battery-ignored), while
nextest on the same sha passes busbar-plane-decisions::conformance's entries.

The counter now counts each invocation of the published macro that names a door: subject.
An invocation with no subject expands to nothing and still scores battery-ignored, and a file
that defines its own conformance_suite macro is not the published suite. Three self-test cases:
the live invocation is green; the empty invocation and the file-local shadow are red.

Coordinator ruling (b), 2026-10-07.
@MattJackson
MattJackson enabled auto-merge October 7, 2026 09:41
@github-actions

github-actions Bot commented Oct 7, 2026 •

Copy link
Copy Markdown

promote into predev: BOARD @5d3cdc33b: 1 failing test row(s), 12 DENY row(s)

Failing tests (1)

crate test step first panic
`` nextest xtask::cli::selftest_runs_every_registered_gates_red_proof test:workspace

DENY rows (12)

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), 76 shipped edge instance(s) over 27 class(es), 76 declaration(s); 61 '[[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 5 finding(s), 36 test edge instance(s) over 19 class(es), 36 declaration(s); 22 '[[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 15 finding(s) over 76 shipped edge(s): ship-edge kernel -> hooks busbar-kernel -> busbar-hooks-ranking is 'not-allowed': the architecture grants no kernel -> hooks edge, and the ship criterion is the
kind-isolation-ship kind-isolation:test-deps 13 finding(s) over 36 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 t
kind-isolation-ship kind-isolation:faces 4 finding(s) over 31 crate(s): foreign-entry crates/busbar busbar is kind 'root' and implements 'Store' 2 time(s) in shipped source — the entry face of kind 'store'. A trait implementation is a claim
kind-isolation-ship kind-isolation:testkit 1 finding(s) over 12 crate(s): no-implementor crates/hooks-ranking busbar-hooks-ranking is kind 'hooks' and implements 'Hooks' (its 'impl' blocks, or the exported door built over them) nowhere in ship
kind-isolation-ship kind-isolation:legacy-drain 5 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)
kind-isolation-ship kind-isolation:control-path 73 finding(s) over 3 control surface(s): upstream crates/busbar-core-admin/src/admin_codec/meta.rs:84 busbar-core-admin names 'egress' — a control surface has no upstream to reach, so the vocabulary o
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
instance-noun-neutrality instance-noun-neutrality:voice tracked known-debt census — 8: crates/busbar-plane-llm/src/codec/gemini/handler.rs×7 [cross-plugin] | crates/busbar-plane-llm/src/codec/gemini/tests/handler_tests.rs×2 [cross-plugin] | crates/busbar
structure-lint structure-lint:plane-dup:unledgered 23 finding(s): PLANE-DUPLICATE (module): 'config.rs' — a2a:crates/busbar-a2a/src/a2a/config.rs mcp:crates/busbar-mcp/src/mcp/config.rs voice:crates/busbar-voice/src/config.rs (the ledger row signs for

Judged against base 70776f1d3: 0 new red, 0 worse, 7 standing (excused).

tests passed: 21942, failed: 0. Run: https://github.com/GetBusbar/busbar/actions/runs/37602371822 . Artifact verdict-5d3cdc33ba596b3a3feedcda923fda8c404b488d (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 1d816e9 Oct 7, 2026
14 of 16 checks passed
@MattJackson
MattJackson deleted the lane-gb-testkit-suite branch October 7, 2026 14:40
MattJackson added a commit that referenced this pull request Oct 7, 2026
…ces-2: the SDK's Services imports both sides' service names (session.emit and trust.state beside this branch's verify/content/hook); the served-money rig's one composition takes both the screened hooks and a bound node (governed_full), with governed_hooked and governed_over as its two named entries
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