Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
61 commits
Select commit Hold shift + click to select a range
29d8132
plane/approvals: delete the kernel's dead copy of the plane's ask-sta…
MattJackson Oct 8, 2026
d11b869
approvals_tests: rustfmt
MattJackson Oct 8, 2026
1bf3604
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
8e3ea4f
qa/kind-isolation: lower busbar-kernel x instance:secret law0 ceiling…
MattJackson Oct 10, 2026
a296d86
Merge remote-tracking branch 'origin/predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
66b2cfa
Merge remote-tracking branch 'origin/predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
03fc0f3
qa/kind-isolation: lower busbar-kernel x plane law0 ceiling 1175 -> 1171
MattJackson Oct 10, 2026
7fb5838
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
3c571e8
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
0605d1f
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
ac8cde5
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
c305ab5
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
682e211
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
f9045ea
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
28ce5ca
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
be88259
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
7b49e62
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
3c1d467
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 10, 2026
16c0116
qa/kind-isolation: lower busbar-kernel × plane law0 ceiling 1171 -> 1169
MattJackson Oct 11, 2026
9096eea
Merge remote-tracking branch 'origin/predev' into q128-k2-h3-askstate
MattJackson Oct 11, 2026
2b6b6a6
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 11, 2026
866c871
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 11, 2026
fcb2a4c
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 11, 2026
ca12c6d
Merge branch 'predev' into q128-k2-h3-askstate
MattJackson Oct 11, 2026
388ec30
Merge origin/predev 1617e9f019 into q128-k2-h3-askstate
MattJackson Oct 12, 2026
1378e88
decisions: a request routes by its model, and upstream_model is splic…
MattJackson Oct 12, 2026
fd8bf00
decisions: a success bills one decision or its count, and its tokens …
MattJackson Oct 12, 2026
4809d85
decisions: a unit's state ends with the unit, live units are never ev…
MattJackson Oct 12, 2026
7ff46e3
decisions: the second dialect, nanojev, on /api/evaluate, metered by …
MattJackson Oct 12, 2026
40e416c
Merge origin/predev into q128-k2-h3-askstate; kind-isolation busbar-k…
MattJackson Oct 12, 2026
cce32ac
Merge origin/predev into q128-k2-h3-askstate
MattJackson Oct 13, 2026
7680dd6
Merge origin/predev into lane-audit-decisions-nanojev
MattJackson Oct 13, 2026
681f145
Merge remote-tracking branch 'origin/predev' into wt807
MattJackson Oct 13, 2026
ed735b2
cli_validate: the new dialect cells name the kind, not the instance (…
MattJackson Oct 13, 2026
29b7ca3
Merge origin/predev into q128-k2-h3-askstate; kernel x plane = predev…
MattJackson Oct 13, 2026
eccc0a9
Merge remote-tracking branch 'origin/predev' into lane-audit-decision…
MattJackson Oct 13, 2026
891c394
decisions plane: the arrival count is the SDK's per-instance keyed st…
MattJackson Oct 13, 2026
d91c2c2
Merge origin/predev into q128-k2-h3-askstate; kernel x plane = predev…
MattJackson Oct 13, 2026
c032f25
flake (row 160): ledger_identity waits for the admin door to answer b…
MattJackson Oct 13, 2026
5ae1e6f
no-silent-skip sweep (row 114): the scrape-sink test is cfg-gated on …
MattJackson Oct 13, 2026
442a2d6
no-silent-skip: drop the busbar-llm edit (row 155 deletes the crate)
MattJackson Oct 13, 2026
4801121
plane money: a served unit's declared class counts reach its plane's …
MattJackson Oct 13, 2026
e07e83a
linked.rs: gate the scrape-sink test on the linked export-doors axis …
MattJackson Oct 13, 2026
6b3fd07
approvals_tests: drop the spend-once cell; SpentTokenLedger::spend le…
MattJackson Oct 13, 2026
943d7dd
kind-isolation: the kernel names no store crate; its tests link an in…
MattJackson Oct 13, 2026
1a5f416
oracle: + billing|budget|downgrade, a script cell for a pool budget's…
MattJackson Oct 13, 2026
82ebb08
Merge pull request #674 from GetBusbar/q128-k2-h3-askstate
MattJackson Oct 13, 2026
e8544d0
Merge pull request #828 from GetBusbar/lane-ki-kernel-store-edge
MattJackson Oct 13, 2026
2e35aa6
Merge pull request #807 from GetBusbar/lane-audit-decisions-nanojev
MattJackson Oct 13, 2026
91f44b0
Merge pull request #816 from GetBusbar/lane-no-silent-skip
MattJackson Oct 13, 2026
5b5bae3
Merge pull request #814 from GetBusbar/lane-p6-flakes-11
MattJackson Oct 13, 2026
5c99bef
Merge pull request #822 from GetBusbar/lane-money-123
MattJackson Oct 13, 2026
9285e49
Merge remote-tracking branch 'origin/predev' into lane-oracle-budget-…
MattJackson Oct 13, 2026
cec8b86
shadow-oracle golden 1.5.5: billing|budget|downgrade recorded from th…
MattJackson Oct 13, 2026
816a3ed
oracle-rust.pin: release_ref 7ab21912d664 -> db64d9218d8b (busbar-rel…
MattJackson Oct 13, 2026
02ab58f
oracle: + llm|<d>|<d>|request|stream_upstream_cut for the six streami…
MattJackson Oct 14, 2026
02edca7
shadow-oracle golden 1.5.5: the six llm stream_upstream_cut cells rec…
MattJackson Oct 14, 2026
3dc49fb
Merge branch 'lane-p3-llm-cut' into lane-oracle-stream-cut
MattJackson Oct 14, 2026
df0b103
accepted-differences: #62's cut entry names its recorded cells, one d…
MattJackson Oct 14, 2026
cfa6baf
accepted-differences: #62's cut entry quotes BUSBAR-1.6.0.md l.2252 v…
MattJackson Oct 14, 2026
b559e44
oracle-rust.pin: release_ref db64d9218d8b -> 7e606a7aa904 (busbar-rel…
MattJackson Oct 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 0 additions & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -108,10 +108,10 @@ busbar-auth-sigv4 = { git = "https://github.com/GetBusbar/busbar-auth-sigv4", re
busbar-hook-ranking = { git = "https://github.com/GetBusbar/busbar-hook-ranking", rev = "7e1285e2e3293627723ab2754b9ddbfddeba9c46" }
# THE MEMORY STORE (kind: store), pulled at a pinned rev: the logic crate the root links on its store
# axis in every build (`[package.metadata.busbar.linked] store-memory`) and the plugin loader's `store`
# both-ways fixture. The same package at the same rev, under the role the kernel's test build gives it
# (`fixture-store`: a kernel source names no plugin). A rev bump moves both lines.
# both-ways fixture. The kernel names it under no name: its test build links the in-crate R-FIX3
# double (`busbar_kernel::test_support::store_double`), and the root's `linked_store_double` tests
# prove the double states what this door states.
busbar-store-memory = { git = "https://github.com/GetBusbar/busbar-store-memory", rev = "848851e63ac7a454eb3d5daf9e11d739c48d738b" }
fixture-store = { package = "busbar-store-memory", git = "https://github.com/GetBusbar/busbar-store-memory", rev = "848851e63ac7a454eb3d5daf9e11d739c48d738b" }
# ── A2A, from the a2aproject's OWN crates ──────────────────────────────────────────────────────
# THE OBVIOUS NAME IS THE WRONG ONE. `a2a-rs` on crates.io is `emillindfors/a2a-rs` (MIT, v0.5.0) —
# a different author entirely. The a2aproject family is the `a2a-*-lf` / `a2a-pb` set, all
Expand Down
2 changes: 1 addition & 1 deletion conformance/manifest.json
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@
},
{
"claim": null,
"plan": "plane battery + served POST /v1/systemone on a booted busbar (systemone only; GET /v1/models keeps its 1.5.5 bytes)",
"plan": "plane battery + served POST /v1/systemone (one model; two models with upstream_model) and POST /api/evaluate (nanojev) on booted busbars; GET /v1/models keeps its 1.5.5 bytes",
"public": true,
"reason": "not served: POST /v1/systemone answers 404, the absence code on this boot; the decisions plane is registered and configured but no route serves its operation (the kernel plane driver serves it)",
"standard": "jev decision plane",
Expand Down
2 changes: 1 addition & 1 deletion conformance/registry.toml
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ not_run_reason = "planned 1.6.0 — h2spec leg not yet green (MATRIX-RULING B-ti
[[suite]]
id = "jev"
standard = "jev decision plane"
plan = "plane battery + served POST /v1/systemone on a booted busbar (systemone only; GET /v1/models keeps its 1.5.5 bytes)"
plan = "plane battery + served POST /v1/systemone (one model; two models with upstream_model) and POST /api/evaluate (nanojev) on booted busbars; GET /v1/models keeps its 1.5.5 bytes"
tier = "spec-conformant"
label = "jev"
verdict = "conformance-verdict-jev"
Expand Down
17 changes: 8 additions & 9 deletions crates/busbar-kernel/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -86,14 +86,13 @@ busbar-kernel-scope = { path = "../busbar-kernel-scope" }
# dump, and only under the non-default `timing` feature. The default build does not link it.
libc = { workspace = true, optional = true }
busbar-plugin-loader = { path = "../plugin-loader" }
# THE STAND-IN LINKED ROWS (test-only edges): the composition root links the build's default store
# and ranking hooks onto the cold-kind axis (`preflight::install_linked_rows`); a test build has no
# root, so these stand in, under `test-support` (which the dev-dependency cycle through the plane
# crates turns on for this crate's own tests). The store is a fixture, renamed to the role it plays:
# no source here names the plugin. The ranking row is no crate at all: it is the in-crate R-FIX3
# double `test_support::ranking_double`, linked only, and the root proves it states what the real
# ranking door states.
fixture-store = { workspace = true, optional = true }
# THE STAND-IN LINKED ROWS are no crate at all: the composition root links the build's store and
# ranking hooks onto the cold-kind axis (`preflight::install_linked_rows`); a test build has no root,
# so the in-crate R-FIX3 doubles stand in, linked only — `test_support::store_double` (the store row
# and the `MemoryStore` the kernel's tests build a `GovState` over) and `test_support::ranking_double`.
# The kernel names no store crate under any name (THE DESIGN Part 2 #2: the kernel reaches a store
# only through the store kind's door), and the root proves each double states what the real door
# states.
axum = { workspace = true }
tower = { workspace = true }
tokio = { workspace = true, features = ["rt-multi-thread", "macros", "net", "time", "sync", "signal", "io-util", "io-std", "process"] }
Expand Down Expand Up @@ -242,7 +241,7 @@ loom-model = ["dep:loom"]
# Exposes `test_support` to a DEPENDENT crate's tests (the bin's). Never on in a normal build;
# the bin enables it from its [dev-dependencies] edge only. The contract's test double (its warn
# capture) is always compiled (ARCHITECT SD-3 queue (4)), so nothing forwards there.
test-support = ["dep:reqwest", "dep:rcgen", "dep:fixture-store", "busbar-kernel-identity/stand-in", "busbar-plugin-loader/test-support"]
test-support = ["dep:reqwest", "dep:rcgen", "busbar-kernel-identity/stand-in", "busbar-plugin-loader/test-support"]
# The debug-only per-method micro-timing in `src/timing` (folded from busbar-timing, OWNER Q70).
# DEFAULT OFF: with this off, `timeit!` expands to `()` and the RAII guards it produces are
# zero-sized no-ops, so the `drop(_guard)` calls that end a timed span are compiled in ONLY under this
Expand Down
8 changes: 4 additions & 4 deletions crates/busbar-kernel/src/audit/tests/journal_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -755,10 +755,10 @@ fn an_evicted_neutral_scopes_tampered_tail_surfaces_a_break_on_resume() {
/// AUDIT-INTEGRITY FIX: `append_scoped` hardcoded every row's `PlaneRecord::ts` to `0`, which defeats
/// retention entirely — `purge_plane_records_before` drops any row with `r.ts < before`, so a `ts` of
/// 0 makes every row look infinitely old and the FIRST retention sweep deletes the whole class
/// regardless of how recently it was written. Proven over the REAL `busbar-store-memory` backend
/// (not this file's in-RAM `MockStore`, whose `purge_plane_records_before` is a stub that always
/// answers 0 and so cannot exercise this): a record appended just now must SURVIVE a retention sweep
/// whose cutoff is safely in the past.
/// regardless of how recently it was written. Proven over the kernel's store double, which carries
/// the shipped RAM store's retention (not this file's in-RAM `MockStore`, whose
/// `purge_plane_records_before` is a stub that always answers 0 and so cannot exercise this): a
/// record appended just now must SURVIVE a retention sweep whose cutoff is safely in the past.
#[test]
fn append_scoped_stamps_a_real_instant_so_a_fresh_row_survives_retention() {
let store: Arc<dyn busbar_contract::records::RecordStore> =
Expand Down
6 changes: 3 additions & 3 deletions crates/busbar-kernel/src/governance/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -1508,10 +1508,10 @@ impl<T> IntoStoreResult<T> for Result<T, getrandom::Error> {
}
}

// The universal test double: the build's default store, which the composition root links onto the
// store axis (the kernel names no store); a test build links it as its store fixture.
// The universal test double: the in-crate R-FIX3 store double (`test_support::store_double`), which a
// test build also links as its stand-in store row. The kernel names no store crate.
#[cfg(any(test, feature = "test-support"))]
pub use fixture_store::MemoryStore;
pub use crate::test_support::store_double::MemoryStore;

/// The write-behind flusher: on a fixed cadence (and once more on graceful shutdown) pushes the
/// dirty in-memory budget cells and the accumulated `pending_metering` rows to the durable store off
Expand Down
13 changes: 6 additions & 7 deletions crates/busbar-kernel/src/governance/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -480,17 +480,16 @@ impl GovState {
/// is read.
///
/// Deliberately returns the secret rather than a ready-made HMAC, so this module keeps knowing
/// nothing about what any consumer seals: a plane's ask-state codec
/// ([`crate::plane::approvals::Sealer::derive`]) does its own domain-separated derivation, which is
/// what keeps its blobs and this module's virtual-key tokens unable to verify as one another.
/// Secret-equivalent: never log it, never put it in a `Debug`.
/// nothing about what any consumer seals: a consumer does its own domain-separated derivation,
/// which is what keeps its blobs and this module's virtual-key tokens unable to verify as one
/// another. Secret-equivalent: never log it, never put it in a `Debug`.
///
/// The FLEET-SHARED property is the reason this is usable for a state seal at all. One logical
/// caller-facing exchange spans several independent requests, which different nodes may serve;
/// a per-process key would make the second request fail on whichever node did not mint the first.
// Its consumer is the ask-state sealer (`crate::plane::approvals::Sealer`), driven by whichever
// plane seals caller-facing state; with no such plane installed it has no caller. Unconditional
// allow — the neutral seam names no plane feature.
// No in-core consumer: a plane seals its caller-facing state over the host's `sign` (ARCHITECT
// Q-L3B-ASK; the in-core ask-state sealer is deleted, audit K2-H3). Unconditional allow — the
// neutral seam names no plane feature.
#[allow(dead_code)]
pub fn signing_secret(&self) -> Option<[u8; 32]> {
self.signing_material().map(|m| m.signer.secret_bytes())
Expand Down
Loading