|
| 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