|
| 1 | +<!-- SPDX-License-Identifier: CC-BY-SA-4.0 --> |
| 2 | + |
| 3 | +# loamSpine Handler Evolution — June 2, 2026 |
| 4 | + |
| 5 | +## Summary |
| 6 | + |
| 7 | +17 thin/stub JSON-RPC handlers evolved to real implementations across 4 commits (`cdcad6f` → `4763c26`). Test count: 1,574 (was 1,530). Zero clippy warnings, zero cargo check warnings. |
| 8 | + |
| 9 | +## Changes by Commit |
| 10 | + |
| 11 | +### cdcad6f — Handler Fidelity, Error Transparency, Proof Verification |
| 12 | + |
| 13 | +- `health.check` returns real uptime from `started_at: Instant` instead of hardcoded `0` |
| 14 | +- `spine.get` and `entry.get` propagate storage errors instead of masking as "not found" |
| 15 | +- `braid.commit` returns real append index from spine height instead of hardcoded `0` |
| 16 | +- `InclusionProof::verify` evolved from stub to proper Merkle path validation |
| 17 | + |
| 18 | +### d971064 — Discovery Transport, Lifecycle State, Waypoint & Verify Semantics |
| 19 | + |
| 20 | +- Service binary enables `tower-atomic` + `discovery-http` features (NeuralAPI UDS + HTTP) |
| 21 | +- Fixed `NeuralApiTransport` private module path (`socket::` → public re-export) |
| 22 | +- `lifecycle.status` reads from shared `Arc<RwLock<String>>` state handle |
| 23 | +- `slice.checkout` returns checkout entry hash (tip) instead of anchor hash |
| 24 | +- `permanence.verify_commit` checks entry type is `SessionCommit` or `BraidCommit` |
| 25 | + |
| 26 | +### dc3b50c — Seal Reason, Discovery Enforcement, Permanence Diagnostics |
| 27 | + |
| 28 | +- `SealSpineRequest` accepts optional `reason` field for seal provenance |
| 29 | +- `CapabilityRegistry::all_required_available()` checks signer + verifier registration |
| 30 | +- `permanence.health_check` returns structured JSON (healthy, spine_count, entry_count, uptime_s) |
| 31 | + |
| 32 | +### 4763c26 — Readiness Diagnostics, Attribution, Auth Peer Info |
| 33 | + |
| 34 | +- Readiness probe exercises storage read path and reports spine count |
| 35 | +- `get_attribution` collects unique committers from `SessionCommit` entries |
| 36 | +- `auth.peer_info` reports actual auth mode and transport type |
| 37 | + |
| 38 | +## Remaining Evolution Targets (LOCAL_ACTIONABLE) |
| 39 | + |
| 40 | +| Priority | Item | Complexity | |
| 41 | +|----------|------|------------| |
| 42 | +| High | Wire redb storage into `LoamSpineService` (v0.10.0) | Large — struct refactor | |
| 43 | +| High | RFC 3161 TSA client (public chain anchor Phase 2) | Medium — HTTP client | |
| 44 | +| Medium | HTTP `/health/live` + `/health/ready` GET routes | Small | |
| 45 | +| Medium | Lifecycle state transitions → heartbeat degraded wiring | Medium | |
| 46 | +| Medium | Coverage push toward 95% | Medium | |
| 47 | + |
| 48 | +## Upstream Notes |
| 49 | + |
| 50 | +- loamSpine mountain debt: **CLEAR** (all 10 deep-debt dimensions clean) |
| 51 | +- strandGate deployment: Blocked on Phase 1 mesh validation (unchanged) |
| 52 | +- primalSpring audit: Ready for downstream validation |
0 commit comments