Skip to content

Commit a9bfc93

Browse files
westgatewestgate
authored andcommitted
S209: root docs + wateringHole handoff — align all hubs to S209/7,842 tests
Made-with: Cursor
1 parent c8de8c7 commit a9bfc93

7 files changed

Lines changed: 90 additions & 10 deletions

File tree

CONTEXT.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ ToadStool is the **Layer 0** hardware substrate that other primals and springs d
2929
- Override: `TOADSTOOL_SOCKET` / `TOADSTOOL_TARPC_SOCKET` env vars
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.
32-
- **Tests**: 20,000+ (7,842 lib-only S208, 0 failures, unlimited parallelism)
32+
- **Tests**: 20,000+ (7,842 lib-only S209, 0 failures, unlimited parallelism)
3333
- **Unsafe**: 49 blocks (all in hw-safe/GPU/VFIO/display/plugin containment, all SAFETY-documented); workspace `unsafe_code = "deny"`, 41 crates `forbid` + 5 hw crates with narrow `#[allow(unsafe_code, reason)]`; all ~40 production `#[allow]` have `reason =` (S206)
3434
- **async-trait**: DEPRECATED — fully removed and banned in `deny.toml` (S203r); transitive only via axum/config/wiggle
3535
- **deny.toml**: `ring` + `async-trait` + `zstd-sys` bans active (ecoBin v3 compliant)

DOCUMENTATION.md

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

3-
**Last Updated**: April 2026 — S208
3+
**Last Updated**: April 2026 — S209
44

55
---
66

@@ -34,7 +34,7 @@ These root documents were **fully resolved** and **fossilized** in wateringHole
3434

3535
**Post-budding, dependency-sovereign, IPC-first, fully concurrent, capability-based.** barraCuda is a separate primal at `ecoPrimals/barraCuda/`. ToadStool is the hardware infrastructure layer — GPU/NPU/CPU discovery, capability probing, workload orchestration, and shader dispatch.
3636

37-
- **20,000+ tests** (7,842 lib-only S208), 0 failures, 0 clippy warnings, 0 fmt diffs. Full workspace concurrent test suite.
37+
- **20,000+ tests** (7,842 lib-only S209), 0 failures, 0 clippy warnings, 0 fmt diffs. Full workspace concurrent test suite.
3838
- **65 JSON-RPC methods** (incl. `compute.execute` direct route S203f). Wire Standard L3 (partial): `cost_estimates`, `operation_dependencies`. IPC compliant (`health.liveness``{"status":"alive"}`, `health.readiness` → ready+version, `health.check` full envelope, `capabilities.list`, `identity.get`).
3939
- **Dual-socket IPC**`compute.sock` (JSON-RPC primary, biomeOS routes here) + `compute-tarpc.sock` (tarpc hot-path). Override: `TOADSTOOL_SOCKET` / `TOADSTOOL_TARPC_SOCKET`. Family: `compute-{fid}.sock` / `compute-{fid}-tarpc.sock`.
4040
- **Pipeline dispatch**`compute.dispatch.pipeline.submit` + `.status` for ordered multi-stage workloads (DAG, topological sort, result forwarding). Resolves neuralSpring PG-05.

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -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` | **20,000+ tests, 0 failures** (7,842 lib-only verified S208), **~93** ignored (hardware-gated); full workspace ~3m30s |
45+
| `cargo test --workspace` | **20,000+ tests, 0 failures** (7,842 lib-only verified S209), **~93** ignored (hardware-gated); full workspace ~3m30s |
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 | **49 actual** (all in hw-safe/GPU/VFIO/display/plugin containment crates); all SAFETY-documented (S204); workspace `unsafe_code = "deny"`, **41 crates `forbid`** + 5 hw crates with narrow `#[allow(unsafe_code, reason)]`; **all ~40 production `#[allow]` have `reason =`** (S206) |
@@ -247,7 +247,7 @@ toadStool/
247247
| Clippy pedantic warnings | 0 (workspace-wide `clippy::pedantic` clean; `#[expect]` evolution S131+) |
248248
| Doc warnings | 0 |
249249
| Build warnings | 0 |
250-
| Workspace tests | **20,000+**, 0 failures (7,842 lib-only S208) |
250+
| Workspace tests | **20,000+**, 0 failures (7,842 lib-only S209) |
251251
| Lib-only line coverage | ~83.6% |
252252
| Full workspace test time | ~3m30s (unlimited parallelism, `cfg!(test)` fast timeouts; GPU crates have NVK resilience wrappers) |
253253
| `unsafe` blocks | **49 actual** (all in hw-safe/GPU/VFIO/display/plugin containment crates); all SAFETY-documented (S204); workspace `unsafe_code = "deny"`, **41 crates `forbid`** + 5 hw crates with narrow `#[allow(unsafe_code, reason)]` |
@@ -384,7 +384,7 @@ See [DEBT.md](DEBT.md) for full register and evolution paths.
384384

385385
---
386386

387-
**Last Updated**: April 2026 — S208 (Deep Debt — Unsafe Allow + Feature Hygiene + Expect→Result). **20,000+** workspace tests, 0 failures (7,842 lib-only). ~83.6% lib-only line coverage (target 90%). **65 JSON-RPC methods** (direct) + semantic registry with **Wire Standard L3** (cost_estimates + operation_dependencies). AGPL-3.0-or-later. Zero C FFI deps (ecoBin v3.0). **49 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** (S208). IPC-first JSON-RPC (dual-socket: `compute.sock` + `compute-tarpc.sock`). Rust 1.85+ (edition 2024, MSRV). **async-trait DEPRECATED** — fully removed, banned in `deny.toml`. **Self-registration** with Songbird via `DISCOVERY_SOCKET` (S207). **Encrypted compute dispatch** (Phase 55). **Display Phase 2** (petalTongue IPC). **BTSP Phase 2 + JSON-line relay**. **All lint attrs with `reason =`** (S206). **`test-mocks` off default** (S206). **Capability-based discovery compliant** per `CAPABILITY_BASED_DISCOVERY_STANDARD.md` v1.2.
387+
**Last Updated**: April 2026 — S209 (Deep Debt — Lint Reason + Dep Unification + Auth Capability). **20,000+** workspace tests, 0 failures (7,842 lib-only). ~83.6% lib-only line coverage (target 90%). **65 JSON-RPC methods** (direct) + semantic registry with **Wire Standard L3** (cost_estimates + operation_dependencies). AGPL-3.0-or-later. Zero C FFI deps (ecoBin v3.0). **49 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**. IPC-first JSON-RPC (dual-socket: `compute.sock` + `compute-tarpc.sock`). Rust 1.85+ (edition 2024, MSRV). **async-trait DEPRECATED** — fully removed, banned in `deny.toml`. **Auth issuer capability-based** (`capabilities::CRYPTO`, S209). **All lint attrs with `reason =`** (S209). **23 Cargo.toml dep versions unified to workspace** (S209). **Self-registration** with Songbird via `DISCOVERY_SOCKET` (S207). **Encrypted compute dispatch** (Phase 55). **Display Phase 2** (petalTongue IPC). **BTSP Phase 2 + JSON-line relay**. **`test-mocks` off default** (S206). **Capability-based discovery compliant** per `CAPABILITY_BASED_DISCOVERY_STANDARD.md` v1.2.
388388

389389
---
390390

docs/README.md

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

3-
**Updated**: April 2026 — S208
3+
**Updated**: April 2026 — S209
44

55
Primary documentation lives at the repository root. See [../DOCUMENTATION.md](../DOCUMENTATION.md) for the navigation hub. Session trackers archived to `ecoPrimals/infra/wateringHole/fossilRecord/toadstool/`.
66

docs/guides/TESTING.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Testing Guide
22

3-
**Last Updated**: April 28, 2026 — S208
3+
**Last Updated**: April 29, 2026 — S209
44

55
## Quick Status
66

77
| Metric | Status | Details |
88
|--------|--------|---------|
9-
| **Lib-Only Tests** | **7,842 (S208)** | 0 failures, unlimited parallelism |
9+
| **Lib-Only Tests** | **7,842 (S209)** | 0 failures, unlimited parallelism |
1010
| **Workspace Tests** | **20,000+ (default features)** | ~93 intentional GPU/hardware ignores |
1111
| **Line Coverage** | **~83.6% (lib-only)** | ~185K production lines. Gap: hardware-dependent code (V4L2/VFIO/neuromorphic) |
1212
| **Clippy Pedantic** | **0 warnings** | Full workspace (`-D warnings`), in CI |
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
# ToadStool S209 — Deep Debt: Lint Reason + Dep Unification + Auth Capability
2+
3+
**Date**: April 29, 2026
4+
**Session**: S209
5+
**Scope**: Codebase-wide lint evolution, dependency hygiene, auth capability evolution
6+
7+
---
8+
9+
## Changes
10+
11+
### 1. Lint Evolution — `reason =` on all remaining attrs
12+
13+
All crate-level `#![allow]` without `reason =` upgraded (7 crates):
14+
- `specialty/embedded/protocol_engine.rs``missing_docs`
15+
- `specialty/embedded/chip_database.rs``missing_docs`
16+
- `specialty/embedded/cpu6502/mod.rs``missing_docs` + cast/names
17+
- `specialty/embedded/cpuz80.rs``missing_docs` + cast
18+
- `neuromorphic/akida-models/src/lib.rs``clippy::must_use_candidate`
19+
- `runtime/native/src/lib.rs``clippy::no_effect_underscore_binding`
20+
- `testing/src/lib.rs``refining_impl_trait`
21+
22+
~30 production `#[expect(deprecated)]`/`#[allow(deprecated)]` upgraded with
23+
`reason =` across: config, auth, ecosystem, storage, GPU backends, CLI,
24+
distributed, server/mocks.
25+
26+
### 2. Workspace Dependency Unification (23 Cargo.toml files)
27+
28+
| Dependency | Crates unified |
29+
|-----------|----------------|
30+
| `sha2` | cli, security/policies, runtime/wasm, integration/storage, runtime/edge |
31+
| `serde_json` | integration-tests, runtime/edge, toadstool-core, management/monitoring |
32+
| `tracing-subscriber` | runtime/gpu, integration-tests, runtime/display, neuromorphic/akida-driver |
33+
| `tokio-test` | testing, server, integration/protocols, runtime/display, distributed, client, integration/primals, integration/storage, runtime/specialty, runtime/orchestration |
34+
| `tracing` + `thiserror` | runtime/edge |
35+
36+
All converted from pinned versions to `{ workspace = true }`.
37+
38+
### 3. Stale Feature Flag Cleanup
39+
40+
Removed unused placeholder features from excluded `runtime/python`:
41+
- `ai-ml = []` — no `cfg(feature)` gate anywhere
42+
- `squirrel-preparation = []` — no `cfg(feature)` gate anywhere
43+
44+
### 4. Auth Backend — Capability-Based Issuer Evolution
45+
46+
**Before**: `validate_token()` fallback issuer was `well_known::BEARDOG`
47+
(hardcoded primal name).
48+
49+
**After**: Fallback issuer is `capabilities::CRYPTO` (capability domain).
50+
Auth backend no longer imports `well_known` module. Crate-level
51+
`#![expect(deprecated)]` removed (no deprecated items used in production).
52+
53+
Test fixtures updated: mock token issuers use `capabilities::CRYPTO`,
54+
audience targets use `capabilities::COORDINATION`.
55+
56+
---
57+
58+
## Files Changed (69)
59+
60+
Major categories:
61+
- 7 crate-level `#![allow]` attrs (specialty, neuromorphic, native, testing)
62+
- ~20 production `#[expect(deprecated)]` sites (config, auth, ecosystem, CLI)
63+
- 23 `Cargo.toml` dep unification files
64+
- `auth_backend.rs` + `auth/tests.rs` (capability evolution)
65+
- `DEBT.md`, `NEXT_STEPS.md` (session documentation)
66+
- Edge crate formatting (rustfmt wrapping long attrs)
67+
68+
## Tests
69+
70+
- **7,842 lib-only**, 0 failures, clippy clean (`-D warnings`), fmt clean
71+
- No test count change — all existing tests pass
72+
73+
## For primalSpring / guideStone
74+
75+
- **Auth issuer change**: Token validation now expects `"crypto"` as default
76+
issuer (was `"beardog"`). If your tokens use `"beardog"` as issuer, either:
77+
- Set `TOADSTOOL_AUTH_ISSUER=beardog` env var, or
78+
- Update token issuer to `"crypto"` (capability-based)
79+
- No wire protocol changes
80+
- No IPC surface changes

specs/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ toadStool picks the row. coralReef compiles for it. Springs never see the table.
115115
| Test coverage | Target 90%, current ~83.6% (llvm-cov) | D-COV |
116116
| Mocks in production | 0 (all `#[cfg(test)]` gated) ||
117117

118-
### Key Numbers (S208)
118+
### Key Numbers (S209)
119119

120120
- **20,000+ workspace / 7,842 lib-only** tests (0 failures), **~65 JSON-RPC methods**
121121
- **3 hardware transports** — Display (DRM), Capture (V4L2), Serial

0 commit comments

Comments
 (0)