Skip to content

Commit 9fb3be1

Browse files
author
BiomeOS Developer
committed
V114: cross-ecosystem deep absorption + docs/handoff evolution
Code: safe_cast expansion (neuralSpring), BiomeOsError query helpers, health.liveness/readiness probes, resilient_call(), extract_rpc_result(), FAMILY_ID-aware discovery, zero eprintln! in prod, NEURAL_API_SOCKET_NAMES centralization, bare as → cast:: helpers, .expect() → OrExit in all validation binaries, primal composition guidance. Docs: README V114, CHANGELOG V114 entry, baseCamp/specs/experiments/ neuralAPI/CONTROL_EXPERIMENT_STATUS updated. whitePaper STUDY.md and METHODOLOGY.md test counts aligned. V113 handoffs archived, V114 toadStool/barraCuda evolution handoff crafted. gen3/baseCamp updated. Quality: 715 tests, 0 clippy (pedantic+nursery), 0 doc warnings, 0 unsafe, 0 #[allow()], 0 .expect() in binaries, 0 eprintln! in prod. Made-with: Cursor
1 parent 975e889 commit 9fb3be1

File tree

119 files changed

+823
-898
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

119 files changed

+823
-898
lines changed

CHANGELOG.md

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,46 @@ All notable changes to groundSpring follow [Keep a Changelog](https://keepachang
44

55
## [Unreleased]
66

7+
### V114 Cross-Ecosystem Deep Absorption (Mar 17, 2026)
8+
9+
#### safe_cast Expansion (neuralSpring S147)
10+
- `cast::usize_u32`, `cast::f64_f32` absorbed from neuralSpring safe_cast
11+
- 30+ bare `as` casts replaced with checked `cast::` helpers across
12+
`drift`, `gillespie`, `anderson`, `bootstrap`, `tissue_anderson`,
13+
`sweeps`, `quasispecies`, `rarefaction/sampling`
14+
15+
#### BiomeOsError Query Helpers (airSpring/wetSpring/healthSpring)
16+
- `is_recoverable()`, `is_retriable()` for IPC retry classification
17+
- `is_method_not_found()` for graceful capability degradation
18+
19+
#### Health Probes (wetSpring/airSpring/healthSpring)
20+
- `health.liveness` and `health.readiness` added to dispatch table
21+
- Standard biomeOS health surface
22+
23+
#### IPC Evolution
24+
- `resilient_call()` wraps CircuitBreaker + RetryPolicy (reusable)
25+
- `extract_rpc_result()` centralizes JSON-RPC result/error extraction
26+
- `FAMILY_ID`-aware socket discovery via `primal_names`
27+
28+
#### Validation Binary Evolution
29+
- 80+ `.expect()` calls → `OrExit` across 17 validation binaries
30+
- 8 `eprintln!("FATAL: ...")``OrExit` or removed
31+
- 82 unfulfilled `#[expect(clippy::unwrap_used)]` removed
32+
- 29 unfulfilled `#[expect(clippy::expect_used)]` removed
33+
- Zero `.expect()`, zero `eprintln!`, zero `#[allow()]` in production
34+
35+
#### Socket Name Centralization
36+
- `NEURAL_API_SOCKET_NAMES` constant in `primal_names`
37+
- 4 consumer files updated (discovery, interaction, validate_nestgate,
38+
validate_nucleus_pipeline)
39+
40+
#### Documentation
41+
- Primal composition guidance published to wateringHole
42+
- V114 toadStool/barraCuda evolution handoff
43+
44+
**Quality**: 715 tests, 0 clippy (pedantic+nursery), 0 doc warnings,
45+
0 unsafe, 0 `#[allow()]`, 0 `.expect()` in binaries.
46+
747
### V113 Ecosystem Absorption + Resilience (Mar 16, 2026)
848

949
#### GemmF64 Transpose Delegation (barraCuda v0.3.5)

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ scripts/ Automation (baselines, benchmarks)
105105
### Rust
106106

107107
```bash
108-
cargo test --workspace # 930+ tests, all PASS (V113)
108+
cargo test --workspace # 715+ tests, all PASS (V114)
109109
cargo test --workspace --features biomeos # biomeos tests (NUCLEUS client active)
110110
cargo test --workspace --features barracuda-gpu # GPU dispatch active
111111
cargo clippy --workspace --all-targets -D warnings # zero warnings (pedantic + nursery)

CONTROL_EXPERIMENT_STATUS.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# groundSpring — Control Experiment Status
22

3-
**Last updated**: March 16, 2026 (V113618 unit + 24 integration tests, 0 clippy, 0 fmt diff, license AGPL-3.0-or-later (SCYBORG trio). V113: GemmF64 transpose delegation (execute_gemm_ex trans_a=true), exit_code constants (UNIBIN_ARCHITECTURE_STANDARD), RetryPolicy + CircuitBreaker (IPC resilience), 4-format capability parsing. V112: `OrExit<T>` trait + `parse_benchmark()` (28 binaries), generic `socket_env_var()`, provenance trio, `thiserror` for `BenchFieldError`, tempdir test hygiene. V111: deep debt — `thiserror` errors, `DispatchOutcome`, safe casts, DI config, dead code removal. V110: cross-ecosystem absorption — `#[expect(reason)]` migration, structured tracing, toadStool dispatch, dual-format capability parsing, `deny.toml`, aarch64 CI)
3+
**Last updated**: March 17, 2026 (V114715+ tests, 0 clippy, 0 fmt diff, license AGPL-3.0-or-later (SCYBORG trio). V114: cross-ecosystem deep absorption — safe_cast expansion, health probes, resilient_call, OrExit evolution, zero eprintln/expect/allow. V113: GemmF64 transpose delegation (execute_gemm_ex trans_a=true), exit_code constants (UNIBIN_ARCHITECTURE_STANDARD), RetryPolicy + CircuitBreaker (IPC resilience), 4-format capability parsing. V112: `OrExit<T>` trait + `parse_benchmark()` (28 binaries), generic `socket_env_var()`, provenance trio, `thiserror` for `BenchFieldError`, tempdir test hygiene. V111: deep debt — `thiserror` errors, `DispatchOutcome`, safe casts, DI config, dead code removal. V110: cross-ecosystem absorption — `#[expect(reason)]` migration, structured tracing, toadStool dispatch, dual-format capability parsing, `deny.toml`, aarch64 CI)
44

55
## Experiment Register
66

@@ -565,7 +565,7 @@ Each experiment is validated at three hardware tiers:
565565
| **GPU** | `barracuda` feature + GPU adapter | GPU matches CPU within tolerance |
566566
| **metalForge** | Mixed hardware dispatch | Cross-substrate agreement |
567567

568-
### Current Status (V113)
568+
### Current Status (V114)
569569

570570
| # | Experiment | CPU | GPU | metalForge | GPU Status |
571571
|---|-----------|:---:|:---:|:----------:|------------|
@@ -818,7 +818,8 @@ metalForge ─── cross-system: GPU → NPU → CPU pe
818818
| V79: Exp 035 + seismic delegation | 85 delegations (51 CPU + 34 GPU), 807 tests, barraCuda v0.3.3, toadStool S94b | Archived |
819819
| V80: Fused Ops + BarraCuda Catch-Up | 87 delegations (51 CPU + 36 GPU), 812 tests, barraCuda v0.3.3+, toadStool S94b | Archived |
820820
| V81: Modern Rewire + coralReef | 88 delegations (51 CPU + 37 GPU), 812+ tests, barraCuda `0bd401f`, toadStool S94b, coralReef (390 tests), 27/27 cross-spring | Archived |
821-
| V113: Ecosystem Resilience | 102 delegations (61 CPU + 41 GPU), 618 unit + 24 integration tests, GemmF64 transpose delegation, exit_code constants, RetryPolicy + CircuitBreaker, 4-format capability parsing | **Current** |
821+
| V114: cross-ecosystem deep absorption | 102 delegations (61 CPU + 41 GPU), 715+ tests, safe_cast expansion, health probes, resilient_call, OrExit evolution, zero eprintln/expect/allow | **Current** |
822+
| V113: Ecosystem Resilience | 102 delegations (61 CPU + 41 GPU), 618 unit + 24 integration tests, GemmF64 transpose delegation, exit_code constants, RetryPolicy + CircuitBreaker, 4-format capability parsing | Archived |
822823
| V112: Deep Debt + OrExit | 102 delegations (61 CPU + 41 GPU), 912+ tests, `OrExit<T>` + parse_benchmark() (28 binaries), generic socket_env_var(), provenance trio, thiserror BenchFieldError, tempdir test hygiene | Archived |
823824
| V109: Deep Debt Resolution + Smart Refactoring | 102 delegations (61 CPU + 41 GPU), 878 tests (no-default-features), 39 modules, zero-panic validation binaries, smart module refactoring (regression/fao56/pipeline/validate-lib), named physical constants, Python dep pinning | Archived |
824825
| V108: Deep Debt + Absorption Evolution | 102 delegations (61 CPU + 41 GPU), 906 tests, AGPL-3.0-or-later, WelfordState CPU delegation, tolerance centralization, typed capability discovery, provenance enrichment | Archived |

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# groundSpring — The Dirty Differences
22

3-
**Date**: March 16, 2026 | **License**: AGPL-3.0-or-later
4-
**Status**: V113 — 39 modules, 35 experiments, 618 unit + 24 integration Rust tests + 287 Python provenance tests, 395/395 validation checks (340 core + 55 NUCLEUS) + 140 metalForge checks, 102 active barracuda delegations (61 CPU + 41 GPU) — synced against barraCuda v0.3.5, toadStool S156+, coralReef Iteration 52+. **Three-tier parity proven**: 29/29 validation binaries PASS at all three tiers. **V113**: GemmF64 transpose delegation (`execute_gemm_ex` trans_a=true), exit_code constants (UNIBIN_ARCHITECTURE_STANDARD), RetryPolicy + CircuitBreaker (IPC resilience), 4-format capability parsing. **V112**: `OrExit<T>` trait + `parse_benchmark()` (28 binaries migrated), generic `socket_env_var()` discovery, provenance trio, `thiserror` for `BenchFieldError`. **V111**: Deep debt evolution — `thiserror` for errors, `DispatchOutcome` enum, safe casts, DI config injection. **V110**: Cross-ecosystem absorption — `#[expect(reason)]` migration, structured tracing, toadStool direct dispatch, dual-format capability parsing. **V109**: Zero-panic validation binaries. **V108**: AGPL-3.0-or-later.
3+
**Date**: March 17, 2026 | **License**: AGPL-3.0-or-later
4+
**Status**: V114 — 39 modules, 35 experiments, 715 Rust tests + 287 Python provenance tests, 395/395 validation checks (340 core + 55 NUCLEUS) + 140 metalForge checks, 102 active barracuda delegations (61 CPU + 41 GPU) — synced against barraCuda v0.3.5, toadStool S156+, coralReef Iteration 52+. Three-tier parity proven: 29/29 validation binaries PASS at all three tiers. **V114**: Cross-ecosystem deep absorption — `safe_cast` expansion (neuralSpring `usize_u32`/`f64_f32`), `BiomeOsError::is_recoverable()/is_retriable()` (airSpring/wetSpring), `health.liveness`/`health.readiness` probes (wetSpring/airSpring/healthSpring), `resilient_call()` (CircuitBreaker + RetryPolicy), `extract_rpc_result()` (ludoSpring/healthSpring), `FAMILY_ID`-aware discovery (toadStool/songBird), zero `eprintln!` in prod, `NEURAL_API_SOCKET_NAMES` centralization, bare `as` cast → `cast::` helpers, `.expect()` → `OrExit` in all validation binaries, primal composition guidance. **V113**: GemmF64 transpose delegation, RetryPolicy + CircuitBreaker, 4-format capability parsing. **V112**: `OrExit<T>`, provenance trio. **V111**: Deep debt — `thiserror`, `DispatchOutcome`, safe casts. **V110**: Cross-ecosystem absorption.
55

66
**The gap between what models predict and what instruments measure.**
77

@@ -113,7 +113,7 @@ Clean models (other springs) → Noisy measurements (groundSpring) → Adapted m
113113
### Rust Phase 1
114114

115115
```bash
116-
cargo test --workspace # 618 unit + 24 integration tests, all PASS
116+
cargo test --workspace # 715 tests, all PASS
117117
cargo test --workspace --features biomeos # NUCLEUS client active
118118
cargo test --workspace --features barracuda-gpu # GPU dispatch active
119119
cargo clippy --workspace --all-targets -- -D warnings -W clippy::pedantic -W clippy::nursery
@@ -162,6 +162,7 @@ cargo run --bin validate-precision-drift
162162
cargo run --bin validate-size-convergence
163163
cargo run --bin validate-vendor-parity
164164
cargo run --bin validate-tissue-anderson
165+
cargo run --bin validate-et0-methods
165166

166167
# NUCLEUS / biomeOS validation (requires biomeos feature, NUCLEUS optional)
167168
cargo run --features biomeos --bin validate-real-ghcnd-et0
@@ -357,7 +358,8 @@ groundSpring/
357358
│ ├── precision_drift/ # Exp 025: f32 vs f64 precision drift
358359
│ ├── size_convergence/ # Exp 026: System-size convergence
359360
│ ├── vendor_parity/ # Exp 027: GPU vendor parity
360-
│ └── npu_anderson/ # Exp 028: NPU Anderson regime classification
361+
│ ├── npu_anderson/ # Exp 028: NPU Anderson regime classification
362+
│ └── et0_methods/ # Exp 034: Multi-method ET₀ cross-validation
361363
├── crates/
362364
│ ├── groundspring/ # Phase 1 Rust library (39 modules incl. esn, lanczos, tissue_anderson, biomeos, nestgate, npu, primal_names)
363365
│ └── groundspring-validate/ # 34 validation binaries (hotSpring pattern)

crates/groundspring-validate/src/bench_cpu_vs_gpu.rs

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -415,7 +415,13 @@ fn bench_tikhonov(iters: u32) -> BenchEntry {
415415

416416
let cpu_ms = bench(
417417
|| {
418-
let r = groundspring::spectral_recon::tikhonov_solve(&kernel, &g, 1e-6, nt, nw);
418+
let r = groundspring::spectral_recon::tikhonov_solve(
419+
&kernel,
420+
&g,
421+
groundspring::spectral_recon::LAMBDA_NOISY,
422+
nt,
423+
nw,
424+
);
419425
std::hint::black_box(r);
420426
},
421427
iters * 10,

crates/groundspring-validate/src/lib.rs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -362,7 +362,6 @@ pub fn bool_field(v: &Value, key: &str) -> bool {
362362
#[cfg(test)]
363363
#[expect(
364364
clippy::unwrap_used,
365-
clippy::expect_used,
366365
reason = "test assertions use unwrap/expect for clarity"
367366
)]
368367
mod tests {

crates/groundspring-validate/src/validate_aggregate_stability.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -190,11 +190,6 @@ fn main() {
190190
}
191191

192192
#[cfg(test)]
193-
#[expect(
194-
clippy::unwrap_used,
195-
clippy::expect_used,
196-
reason = "test assertions use unwrap/expect for clarity"
197-
)]
198193
mod tests {
199194
#[test]
200195
fn validation_passes() {

crates/groundspring-validate/src/validate_anderson.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -267,11 +267,6 @@ fn main() {
267267
}
268268

269269
#[cfg(test)]
270-
#[expect(
271-
clippy::unwrap_used,
272-
clippy::expect_used,
273-
reason = "test assertions use unwrap/expect for clarity"
274-
)]
275270
mod tests {
276271
#[test]
277272
fn validation_passes() {

crates/groundspring-validate/src/validate_band_edge.rs

Lines changed: 9 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ use groundspring::band_structure::{
1515
use groundspring::transport::tridiag_eigh;
1616
use groundspring::validate::ValidationHarness;
1717
use groundspring_validate::{
18-
BenchResult, f64_field, get_f64_range, get_f64_vec, parse_benchmark, print_provenance_header,
19-
usize_field,
18+
BenchResult, OrExit, f64_field, get_f64_range, get_f64_vec, parse_benchmark,
19+
print_provenance_header, usize_field,
2020
};
2121
use serde_json::Value;
2222

@@ -141,25 +141,14 @@ fn run() -> i32 {
141141
let exp = &bench["expected_results"];
142142

143143
let t_hop = f64_field(model, "hopping");
144-
let Ok(pot_2) = get_f64_vec(model, "period_2_potential") else {
145-
eprintln!("FATAL: missing period_2_potential");
146-
return 1;
147-
};
148-
let Ok(pot_3) = get_f64_vec(model, "period_3_potential") else {
149-
eprintln!("FATAL: missing period_3_potential");
150-
return 1;
151-
};
144+
let pot_2 = get_f64_vec(model, "period_2_potential").or_exit("missing period_2_potential");
145+
let pot_3 = get_f64_vec(model, "period_3_potential").or_exit("missing period_3_potential");
152146
let n_scan = usize_field(model, "n_energy_scan");
153-
let Ok((e_lo, e_hi)) = get_f64_range(&model["energy_range"]) else {
154-
eprintln!("FATAL: missing energy_range");
155-
return 1;
156-
};
147+
let (e_lo, e_hi) = get_f64_range(&model["energy_range"]).or_exit("missing energy_range");
157148
let n_periods = usize_field(model, "n_periods_finite");
158149

159-
let Ok(dvs) = get_f64_vec(model, "period_2_gap_widths_to_test") else {
160-
eprintln!("FATAL: missing period_2_gap_widths_to_test");
161-
return 1;
162-
};
150+
let dvs = get_f64_vec(model, "period_2_gap_widths_to_test")
151+
.or_exit("missing period_2_gap_widths_to_test");
163152

164153
let ctx = BandCtx {
165154
t_hop,
@@ -170,10 +159,8 @@ fn run() -> i32 {
170159
n_scan,
171160
};
172161

173-
if let Err(e) = validate_free_and_periodic(&mut h, &ctx, pred, exp) {
174-
eprintln!("FATAL: benchmark field error: {e}");
175-
return 1;
176-
}
162+
validate_free_and_periodic(&mut h, &ctx, pred, exp)
163+
.or_exit("benchmark field error in free/periodic validation");
177164
validate_proportionality_and_finite(&mut h, &ctx, exp, n_periods, &dvs);
178165

179166
println!("\n--- Part 6: Determinism ---");
@@ -192,11 +179,6 @@ fn main() {
192179
}
193180

194181
#[cfg(test)]
195-
#[expect(
196-
clippy::unwrap_used,
197-
clippy::expect_used,
198-
reason = "test assertions use unwrap/expect for clarity"
199-
)]
200182
mod tests {
201183
#[test]
202184
fn validation_passes() {

crates/groundspring-validate/src/validate_bistable.rs

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -232,11 +232,6 @@ fn main() {
232232
}
233233

234234
#[cfg(test)]
235-
#[expect(
236-
clippy::unwrap_used,
237-
clippy::expect_used,
238-
reason = "test assertions use unwrap/expect for clarity"
239-
)]
240235
mod tests {
241236
#[test]
242237
fn validation_passes() {

0 commit comments

Comments
 (0)