Skip to content

Commit 19c7c68

Browse files
BiomeOS Developercursoragent
andcommitted
S263: primalSpring stadial gate — compute.fan_out, primal.announce, universal standards compliance
primalSpring Wave 22 stadial gate audit response: universal standards checklist green, upstream compute.fan_out implemented, composition gaps closed, version bumped to 0.2.0. - compute.fan_out: DAG-aware dispatch of clone-level work units with substrate filtering for wetSpring 264-clone Tenaillon 2016 parallelism - primal.announce: self-registration broadcast for mesh discovery - capabilities.list: added capabilities array + count per CAPABILITY_WIRE_STANDARD - btsp.capabilities: registered in capability response - deny.toml: banned aws-lc-sys per SOVEREIGNTY_STANDARDS dark forest gate - DataDependency: workload TOML input data staging (nestGate composition gap) - Version 0.1.0 → 0.2.0 reflecting Phase D maturity - Fixed 5 pre-existing Rust 1.92 clippy issues + 1 #[expect] missing reason - 85 JSON-RPC methods, 8,945 lib tests, 0 clippy warnings, deny clean Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent d9ae371 commit 19c7c68

29 files changed

Lines changed: 547 additions & 95 deletions

File tree

.env.example

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# ToadStool Environment Configuration
2-
# Updated: S262 (May 14, 2026)
2+
# Updated: S263 (May 17, 2026)
33
#
44
# All values have sensible defaults. Only override what you need.
55
# Copy this file to .env and customize for your environment.

CHANGELOG.md

Lines changed: 20 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,26 @@ All notable changes to ToadStool will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8-
## [Unreleased] - May 14, 2026 (Sessions 43-262)
8+
## [Unreleased] - May 17, 2026 (Sessions 43-263)
9+
10+
### Session S263 (May 17, 2026) — Stadial Gate: primalSpring Audit Response
11+
12+
primalSpring Wave 22 stadial gate audit response: universal standards compliance, upstream `compute.fan_out` implementation, composition gap closure.
13+
14+
- ADDED: `compute.fan_out` JSON-RPC endpoint — DAG-aware dispatch of clone-level work units with substrate filtering, auto-generated dispatch_id, and per-unit assignment/queuing status (wetSpring upstream ask for Tenaillon 2016 264-clone parallelism)
15+
- ADDED: `primal.announce` JSON-RPC endpoint — self-registration broadcast for mesh discovery (stadial standard)
16+
- ADDED: `btsp.capabilities` in `capabilities.list` response — BTSP transport security capability declaration
17+
- ADDED: `device` capability type in `capabilities.list` — VFIO management and GR init
18+
- EVOLVED: `capabilities.list` response shape — added `capabilities` array + `count` field per `CAPABILITY_WIRE_STANDARD.md` envelope (backward-compat: `provided_capabilities` retained)
19+
- EVOLVED: `DataDependency` struct in workload TOML spec — `name`, `source`, `blake3`, `required` fields for input data staging (composition gap with nestGate)
20+
- SECURITY: Banned `aws-lc-sys` in `deny.toml` per `SOVEREIGNTY_STANDARDS.md` dark forest gate
21+
- FIXED: `#[expect(non_camel_case_types)]` in `gguf.rs` — added `reason`
22+
- FIXED: 4 pre-existing clippy issues from Rust 1.92 (`manual_is_multiple_of`, `collapsible_if`, `needless_late_init`, `unnecessary_cast`, `too_many_arguments`)
23+
- EVOLVED: Workspace version `0.1.0``0.2.0` (reflecting Phase D maturity, stadial readiness)
24+
- ADDED: Semantic aliases `ember.fan_out`, `sovereign.fan_out` for `compute.fan_out`
25+
- ADDED: Wire L3 cost entry for `compute.fan_out` (high energy, GPU-capable)
26+
- ADDED: 12 new tests — fan_out validation (5), capabilities envelope (2), primal.announce (1), shader_info + gr_init (from S262, 4)
27+
- METRICS: 85 JSON-RPC methods (direct), 8,945 lib tests, 0 clippy warnings, deny clean
928

1029
### Session S262 (May 14, 2026) — Diesel Engine Completion: GR Init IPC + Shader Metadata Aliases
1130

CONTEXT.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -30,12 +30,12 @@ ToadStool is the **Layer 0** hardware substrate that other primals and springs d
3030
- Family: `compute-{family_id}.sock` / `compute-{family_id}-tarpc.sock`
3131
- **Peer primals**: Resolved at runtime via capability IDs and Unix-socket discovery (e.g. `capability.discover`, `resolve_capability_socket_fallback`) — not hardcoded URLs or legacy per-primal env manifests
3232
- **Discovery hierarchy** (primalSpring cross-cutting): Songbird `ipc.resolve` → biomeOS `capability.discover` → UDS filesystem convention → socket registry → TCP probing. toadStool implements tiers 1–4; TCP probing (tier 5) not used for local IPC
33-
- **Wave 8 Compute Trio** (S235–S262): `compute.dispatch.submit` trio-standard IPC contract. **Phase A: coral-ember absorbed** (S237). **Phase B: glowplug absorbed** (S239). **Phase C complete — all blocking items resolved** (S245–S253): toadstool-cylinder (153 .rs, 520 tests), DRM/MMIO/AMD/NVIDIA/VFIO, `OwnedFd` VFIO fd ownership (S253), SwapOrchestrator real quiesce/persist/restore (S253), `toadstool device` CLI (S253). **Phase D: dispatch live** (S254–S262) — `LocalDeviceFactory` wired at handler startup (S254), AMD DRM dispatch live, NV VFIO QMD-based dispatch wired via PBDMA (S258–S259). `CPUCTL_HALTED` bit fix + `probe_warm_fecs()` (S256). `device.vfio.open` + `device.vfio.roundtrip` JSON-RPC endpoints (S259). `health.version` + `health.drain` RPC endpoints (S260). Kepler dispatch wired (S260). `device.gr.init` / `compute.context.init` IPC exposed (S262). coralReef shader metadata aliases wired (S262). **83 JSON-RPC methods.**
34-
- **Deep Debt** (S240–S262): All Duration literals extracted to named constants (~100+ across 30+ files). Legacy primal env vars `#[deprecated]` with migration guidance (S250). All `#[allow(deprecated)]` evolved to `#[expect(deprecated, reason)]` (S252). `VfioResourceHandle` `Option<i32>``OwnedFd` (S253). Sentinel values evolved to idiomatic Rust (S250). Zero library `println!`/`eprintln!`. All production files <800 lines. Zero production mocks/TODO/FIXME/unreachable!(). All unsafe SAFETY-documented. All `#[allow]`/`#[expect]` have `reason` (S255+S259+S261). `cargo deny check bans` passes clean.
35-
- **Tests**: 22,900+ (8,849+ lib-only, 0 failures, unlimited parallelism)
33+
- **Wave 8 Compute Trio** (S235–S263): `compute.dispatch.submit` trio-standard IPC contract. **Phase A: coral-ember absorbed** (S237). **Phase B: glowplug absorbed** (S239). **Phase C complete — all blocking items resolved** (S245–S253): toadstool-cylinder (153 .rs, 520 tests), DRM/MMIO/AMD/NVIDIA/VFIO, `OwnedFd` VFIO fd ownership (S253), SwapOrchestrator real quiesce/persist/restore (S253), `toadstool device` CLI (S253). **Phase D: dispatch live** (S254–S263) — `LocalDeviceFactory` wired at handler startup (S254), AMD DRM dispatch live, NV VFIO QMD-based dispatch wired via PBDMA (S258–S259). `CPUCTL_HALTED` bit fix + `probe_warm_fecs()` (S256). `device.vfio.open` + `device.vfio.roundtrip` JSON-RPC endpoints (S259). `health.version` + `health.drain` RPC endpoints (S260). Kepler dispatch wired (S260). `device.gr.init` / `compute.context.init` IPC exposed (S262). coralReef shader metadata aliases wired (S262). `compute.fan_out` DAG-aware dispatch (S263). `primal.announce` self-registration (S263). **85 JSON-RPC methods.**
34+
- **Deep Debt** (S240–S263): All Duration literals extracted to named constants (~100+ across 30+ files). Legacy primal env vars `#[deprecated]` with migration guidance (S250). All `#[allow(deprecated)]` evolved to `#[expect(deprecated, reason)]` (S252). `VfioResourceHandle` `Option<i32>``OwnedFd` (S253). Sentinel values evolved to idiomatic Rust (S250). Zero library `println!`/`eprintln!`. All production files <800 lines. Zero production mocks/TODO/FIXME/unreachable!(). All unsafe SAFETY-documented. All `#[allow]`/`#[expect]` have `reason` (S255+S259+S261+S263). `cargo deny check bans` passes clean. `aws-lc-sys` banned (S263).
35+
- **Tests**: 22,900+ (8,945+ lib-only, 0 failures, unlimited parallelism)
3636
- **Unsafe**: 46 blocks (all in hw-safe/GPU/VFIO/display/plugin containment, all SAFETY-documented; reconciled S221); workspace `unsafe_code = "deny"`, 41 crates `forbid` + 5 hw crates with narrow `#[allow(unsafe_code, reason)]`; all lint attrs have `reason =` (S211+S213)
3737
- **async-trait**: DEPRECATED — fully removed and banned in `deny.toml` (S203r); transitive only via axum/config/wiggle
38-
- **deny.toml**: `ring` + `async-trait` + `zstd-sys` bans active (ecoBin v3 compliant). `ring` present only as conditional transitive dep via quinn-proto/rustls-webpki (not on default build path)
38+
- **deny.toml**: `ring` + `async-trait` + `zstd-sys` + `aws-lc-sys` bans active (ecoBin v3 compliant, `SOVEREIGNTY_STANDARDS.md` dark forest gate). `ring` present only as conditional transitive dep via quinn-proto/rustls-webpki (not on default build path)
3939
- **Display Phase 2**: `display.present`, `display.subscribe_input`, `display.poll_events` (petalTongue IPC)
4040
- **Encrypted compute dispatch** (Phase 55): Tower `crypto.encrypt`/`crypto.decrypt` for payloads; `DISCOVERY_SOCKET` highest-precedence capability resolution
4141
- **Self-registration** (S207): `ipc.register` to Songbird via `DISCOVERY_SOCKET` at startup — dynamic NUCLEUS membership without restart

Cargo.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,7 +64,7 @@ members = [
6464
exclude = ["fuzz", "crates/ml/burn-inference"]
6565

6666
[workspace.package]
67-
version = "0.1.0"
67+
version = "0.2.0"
6868
edition = "2024"
6969
rust-version = "1.85.0"
7070
authors = ["ToadStool Development Team"]

DEBT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Active Technical Debt Register
22

3-
**Date**: May 2026 — S262
3+
**Date**: May 2026 — S263
44
**Philosophy**: Math is universal, precision is silicon. Workarounds are
55
short-term solutions that increase debt. We aim to solve deep debt over
66
iterations, evolving toward vendor-agnostic, capability-based solutions—

DOCUMENTATION.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ToadStool Documentation Hub
22

3-
**Last Updated**: May 2026 — S262
3+
**Last Updated**: May 2026 — S263
44

55
---
66

NEXT_STEPS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# ToadStool -- Next Steps
22

33
**Updated**: May 2026 — S266 (PlxKeepalive: continuous config space heartbeat for PLX-bridged devices. Root cause: PLX D3cold from **inactivity**, not swap events. ember `PlxKeepalive` + glowplug `PlxGuardian` fleet manager. 98 ember tests, 95 glowplug tests.)
4-
**Status**: Production-grade | Rust edition **2024** (MSRV 1.85) | **AGPL-3.0-or-later** | **All quality gates green** | tests verified (22,900+ workspace, 0 failures; 8,849+ lib-only) | **83 JSON-RPC methods** | Wire Standard L3 (partial) | Zero C FFI deps (ecoBin v3.0) | **Zero production panics/expects** | **Zero production TODO/FIXME/HACK** | **Zero production unreachable!()** | IPC-first | workspace `unsafe_code = "deny"`, **41 crates `forbid`** | **46 unsafe blocks** (all in hw containment, all SAFETY-documented) | **rustix 1.x workspace-wide** | **capability-based primal references (no hardcoded names)** | **`async-trait` DEPRECATED** (banned in `deny.toml`) | **`deny.toml` ring + async-trait + zstd-sys bans active** | **Phase C complete — all blocking items resolved (S253)** | **Phase D dispatch live — QMD-based VFIO PBDMA dispatch wired (S258–S263)** | **`OwnedFd` VFIO fd ownership (S253)** | **`toadstool device` CLI (S253)** | **CORALREEF_* env vars deprecated with TOADSTOOL_* primaries (S253)** | **Zero `#[allow(deprecated)]` remaining** | **520 cylinder tests** | **E2E sovereign dispatch VALIDATED on Titan V (warm handoff)**
4+
**Status**: Production-grade | Rust edition **2024** (MSRV 1.85) | **AGPL-3.0-or-later** | **All quality gates green** | tests verified (22,900+ workspace, 0 failures; 8,945+ lib-only) | **85 JSON-RPC methods** | Wire Standard L3 (partial) | Zero C FFI deps (ecoBin v3.0) | **Zero production panics/expects** | **Zero production TODO/FIXME/HACK** | **Zero production unreachable!()** | IPC-first | workspace `unsafe_code = "deny"`, **41 crates `forbid`** | **46 unsafe blocks** (all in hw containment, all SAFETY-documented) | **rustix 1.x workspace-wide** | **capability-based primal references (no hardcoded names)** | **`async-trait` DEPRECATED** (banned in `deny.toml`) | **`deny.toml` ring + async-trait + zstd-sys bans active** | **Phase C complete — all blocking items resolved (S253)** | **Phase D dispatch live — QMD-based VFIO PBDMA dispatch wired (S258–S263)** | **`OwnedFd` VFIO fd ownership (S253)** | **`toadstool device` CLI (S253)** | **CORALREEF_* env vars deprecated with TOADSTOOL_* primaries (S253)** | **Zero `#[allow(deprecated)]` remaining** | **520 cylinder tests** | **E2E sovereign dispatch VALIDATED on Titan V (warm handoff)**
55
**Latest**: S266 — **PLX Keepalive (Root Cause Fix)**: `PlxKeepalive` in ember — continuous config space heartbeat (CfgRd 0x00 every 5s) on PLX-bridged devices + full bridge chain. `KeepaliveHandle` for stop/status/heartbeat_count. `detect_plx_bridge()` checks vendor 0x10b5 in ancestry. `PlxGuardian` in glowplug — fleet-level auto-detection via `scan_and_protect()`, per-device `protect()/release()`, `status_summary()`. Root cause: PLX D3cold from inactivity (toadstool-server polling was accidental keepalive; bridge died in ~10min when it stopped).
66
**Previous**: S265r — Driver Lab + Containment. S264 — PCIe bridge keepalive. S263 — CPUCTL_ALIAS breakthrough, GR context scheduler, warm handoff on Titan V. S262 — `device.gr.init` IPC. S261 — deep debt sweep. S259 — VFIO IPC + QMD dispatch. S258 — PBDMA dispatch wiring.
77

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ToadStool
22

3-
**Sovereign Compute Hardware** | Pure Rust | ecoBin | May 2026 | S262
3+
**Sovereign Compute Hardware** | Pure Rust | ecoBin | May 2026 | S263 | v0.2.0
44

55
---
66

@@ -42,7 +42,7 @@ Nest = Tower + Storage <- storage
4242
| `cargo fmt --all -- --check` | 0 diffs |
4343
| `cargo clippy --workspace --all-targets -- -D warnings` | 0 warnings |
4444
| `cargo doc --workspace --no-deps` (RUSTDOCFLAGS="-D warnings") | 0 warnings |
45-
| `cargo test --workspace` | **22,900+ tests, 0 failures** (8,849+ lib-only), **~222** ignored (hardware-gated); full workspace ~7m |
45+
| `cargo test --workspace` | **22,900+ tests, 0 failures** (8,945+ lib-only), **~222** ignored (hardware-gated); full workspace ~7m |
4646
| Doctests | All passing (common, core, server, cli, testing, display) |
4747
| Standalone clone test | Pull to any machine, `cargo test` works (GPU-optional, CPU fallback, device-lost resilient) |
4848
| `unsafe` blocks | **46 actual** (all in hw-safe/GPU/VFIO/display/plugin containment crates); all SAFETY-documented (S204, reconciled S221); workspace `unsafe_code = "deny"`, **41 crates `forbid`** + 5 hw crates with narrow `#[allow(unsafe_code, reason)]`; **all lint attrs have `reason =`** (S211+S213) |
@@ -391,7 +391,7 @@ See [DEBT.md](DEBT.md) for full register and evolution paths.
391391

392392
---
393393

394-
**Last Updated**: May 2026 — S262. **22,900+** workspace tests, 0 failures (8,849+ lib-only). ~83.6% lib-only line coverage (target 90%). **83 JSON-RPC methods** (direct) + semantic registry (incl. `health.version`, `health.drain`, `device.vfio.open`, `device.vfio.roundtrip`, `device.gr.init`, `compute.context.init`, `ember.vfio.*`, `ember.gr.init`, `sovereign.gr.init`, `ember.swap`, `sovereign.boot` aliases) with **Wire Standard L3** (cost_estimates + operation_dependencies). AGPL-3.0-or-later. Zero C FFI deps (ecoBin v3.0). **46 unsafe blocks** (all in hw-safe/GPU/VFIO/display/plugin containment crates); all SAFETY-documented; workspace `unsafe_code = "deny"`, **41 crates `forbid`** + 5 hw crates with narrow `#[allow(unsafe_code, reason)]`. **Zero production panics/expects**. Zero production TODO/FIXME/HACK. Zero production `unreachable!()`. All files under 800 lines (production+examples). Zero library println/eprintln. IPC-first JSON-RPC (dual-socket: `compute.sock` + `compute-tarpc.sock`). Rust 1.85+ (edition 2024, MSRV). **Phase C complete** (S245–S253). **Phase D dispatch live** (S254–S259) — AMD DRM dispatch live, NV VFIO QMD-based dispatch wired via PBDMA. **`OwnedFd` VFIO fd ownership** (S253). **520 cylinder tests.** **Capability-based discovery compliant** per `CAPABILITY_BASED_DISCOVERY_STANDARD.md` v1.2.
394+
**Last Updated**: May 2026 — S263. **22,900+** workspace tests, 0 failures (8,945+ lib-only). ~83.6% lib-only line coverage (target 90%). **85 JSON-RPC methods** (direct) + semantic registry (incl. `health.version`, `health.drain`, `device.vfio.open`, `device.vfio.roundtrip`, `device.gr.init`, `compute.context.init`, `compute.fan_out`, `primal.announce`, `ember.vfio.*`, `ember.gr.init`, `sovereign.gr.init`, `ember.swap`, `sovereign.boot` aliases) with **Wire Standard L3** (cost_estimates + operation_dependencies). AGPL-3.0-or-later. Zero C FFI deps (ecoBin v3.0). **46 unsafe blocks** (all in hw-safe/GPU/VFIO/display/plugin containment crates); all SAFETY-documented; workspace `unsafe_code = "deny"`, **41 crates `forbid`** + 5 hw crates with narrow `#[allow(unsafe_code, reason)]`. **Zero production panics/expects**. Zero production TODO/FIXME/HACK. Zero production `unreachable!()`. All files under 800 lines (production+examples). Zero library println/eprintln. IPC-first JSON-RPC (dual-socket: `compute.sock` + `compute-tarpc.sock`). Rust 1.85+ (edition 2024, MSRV). **Phase C complete** (S245–S253). **Phase D dispatch live** (S254–S259) — AMD DRM dispatch live, NV VFIO QMD-based dispatch wired via PBDMA. **`OwnedFd` VFIO fd ownership** (S253). **520 cylinder tests.** **Capability-based discovery compliant** per `CAPABILITY_BASED_DISCOVERY_STANDARD.md` v1.2.
395395

396396
---
397397

crates/cli/src/executor/workload/conversion.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -175,6 +175,7 @@ mod tests {
175175
},
176176
resources: None,
177177
security: None,
178+
data_dependencies: None,
178179
};
179180

180181
let env_overrides = HashMap::new();
@@ -210,6 +211,7 @@ mod tests {
210211
},
211212
resources: None,
212213
security: None,
214+
data_dependencies: None,
213215
};
214216

215217
let result = convert_to_workload_spec(&workload, HashMap::new());
@@ -244,6 +246,7 @@ mod tests {
244246
},
245247
resources: None,
246248
security: None,
249+
data_dependencies: None,
247250
};
248251

249252
let result = convert_to_workload_spec(&workload, HashMap::new());
@@ -278,6 +281,7 @@ mod tests {
278281
},
279282
resources: None,
280283
security: None,
284+
data_dependencies: None,
281285
};
282286

283287
let result = convert_to_workload_spec(&workload, HashMap::new());
@@ -380,6 +384,7 @@ mod tests {
380384
},
381385
resources: None,
382386
security: None,
387+
data_dependencies: None,
383388
};
384389

385390
let result = convert_to_workload_spec(&workload, overrides).unwrap();

crates/cli/src/executor/workload/reporting.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,7 @@ mod tests {
107107
},
108108
resources: None,
109109
security: None,
110+
data_dependencies: None,
110111
}
111112
}
112113

0 commit comments

Comments
 (0)