Skip to content

Commit ac8730a

Browse files
BiomeOS Developercursoragent
andcommitted
frago: loamSpine Wave 69 — P2 runtime panic RESOLVED, P3 anchoring COMPLETE
Both items from eastGate audit are resolved: - Tokio runtime-in-runtime panic fixed since v0.9.15 (LS-03) - Anchoring pipeline all 6 stages implemented and tested - 1,574 tests, zero mountain debt Co-authored-by: Cursor <cursoragent@cursor.com>
1 parent 83ecd60 commit ac8730a

1 file changed

Lines changed: 84 additions & 0 deletions

File tree

Lines changed: 84 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,84 @@
1+
# loamSpine — FRAGO Response: Wave 69 strandGate Provenance Deployment
2+
3+
**Date**: 2026-06-02
4+
**In Response To**: `wave69-strandgate-provenance-deployment` (eastGate audit)
5+
**From**: loamSpine team (strandGate)
6+
**To**: primalSpring (eastGate), rhizoCrypt + sweetGrass (provenance trio)
7+
**Commits**: `cdcad6f``4763c26` (4 evolution commits), `83ecd60` (doc refresh)
8+
9+
---
10+
11+
## P2: RESOLVED — Tokio runtime-in-runtime panic (fixed v0.9.15, March 2026)
12+
13+
### Status: **No action required — fix is live since LS-03**
14+
15+
The nested `block_on()` inside a running async runtime was replaced with `tokio::spawn` in v0.9.15 (commit LS-03, March 31, 2026). This was re-verified in Wave 47 — the "double-runtime crash" reported on 2 gates was root-caused to a stale `plasmidBin` binary calling `serve` instead of `server` subcommand, not a loamSpine code bug.
16+
17+
**Current state**: Zero `Runtime::new()` or `block_on()` in any production code (`bin/` and `crates/*/src/`). All remaining occurrences are exclusively in test files and benchmarks.
18+
19+
**If gates still see this**: The fix is to reharvest the loamSpine binary into plasmidBin. The stale binary predates the fix. See PG-52 verified live (April 27, 2026).
20+
21+
### Evidence
22+
23+
```
24+
$ rg 'Runtime::new|block_on' bin/ crates/*/src/ --type rust
25+
(no matches)
26+
```
27+
28+
---
29+
30+
## P3: RESOLVED — Anchoring pipeline completeness
31+
32+
### Status: **All pipeline stages implemented and tested**
33+
34+
The full provenance anchoring pipeline is operational:
35+
36+
| Stage | Method | Status | Tests |
37+
|-------|--------|--------|-------|
38+
| 1. Dehydrate | `session.dehydrate` | COMPLETE | Content-addressed blake3 summary of uncommitted entries (read-only) |
39+
| 2. Commit session | `session.commit` | COMPLETE | Receives dehydrated DAG sessions from rhizoCrypt |
40+
| 3. Commit braid | `braid.commit` | COMPLETE | Records attribution braids from sweetGrass; returns real append index |
41+
| 4. Anchor single | `anchor.publish` | COMPLETE | Records receipts (Bitcoin OP_RETURN, Ethereum, RFC 3161 TSA, Data Commons) |
42+
| 5. Anchor batch | `anchor.publish_batch` | COMPLETE | Aggregate Merkle tree anchoring (N spines → 1 on-chain tx) |
43+
| 6. Verify | `anchor.verify` | COMPLETE | Verifies single or aggregate anchor proofs |
44+
45+
Pipeline flow: `dehydrate → sign → session.commit → braid.commit → anchor.publish`
46+
47+
**Remaining glacial gap**: Actual chain submission is delegated to a `"chain-anchor"` capability-discovered primal (not yet built ecosystem-wide). loamSpine records receipts; a future primal handles on-chain submission. Spec: `specs/PUBLIC_TIMESTAMPING.md`.
48+
49+
---
50+
51+
## Current Metrics
52+
53+
| Metric | Value |
54+
|--------|-------|
55+
| Tests | 1,574 (zero flaky, all concurrent, ~3s) |
56+
| JSON-RPC methods | 44 (37 stable, 2 evolving, 4 compat, 1 alias) |
57+
| Source files | 193 `.rs` |
58+
| Coverage | 90.92% line / 89.09% branch / 92.92% region |
59+
| Unsafe code | 0 (`#![forbid(unsafe_code)]`) |
60+
| Clippy | 0 warnings (pedantic + nursery) |
61+
| TODO/FIXME | 0 |
62+
| Deep debt | All 10 dimensions CLEAN |
63+
64+
## Recent Evolution (June 2, 2026)
65+
66+
17 thin/stub handlers evolved to real implementations:
67+
- `health.check` real uptime, error transparency in get ops
68+
- `braid.commit` real index, `InclusionProof::verify` Merkle validation
69+
- `lifecycle.status` shared state handle, discovery transport wiring
70+
- `permanence.health_check` structured diagnostics, `spine.seal` reason field
71+
- `get_attribution` contributor collection, `auth.peer_info` auth mode
72+
- `CapabilityRegistry::all_required_available()` enforcement
73+
74+
## Audit Context Note
75+
76+
The Wave 69 audit context appears to reference pre-Wave 55 state (mentions BearDog coupling and placeholder DIDs as recent changes — both resolved May 27, 2026). loamSpine is currently at zero mountain debt with all evolution targets through Round 4 complete.
77+
78+
---
79+
80+
## strandGate Deployment Readiness
81+
82+
- **loamSpine**: Ready. No blocking debt. Stadial checklist 23/23 PASS.
83+
- **Blocked on**: Phase 1 mesh validation (3+ gates proven on LAN) — unchanged.
84+
- **First tasks post-deploy**: Provenance trio wiring (content.put to rhizoCrypt DAG + loamSpine ledger), sweetGrass braid integration.

0 commit comments

Comments
 (0)