Skip to content

Earn-core: formal-proof runtime-enforcement PoC for one ABI module (ADR-0008 Option C) #55

@hyperpolymath

Description

@hyperpolymath

Context

ADR-0008 was decided: Option C (hybrid). Two consequences flow from it; this issue tracks the second.

  1. Scope the claim now — the "formally verified" wording is corrected to "ABI proofs compile/type-check; runtime enforcement is roadmap." Handled under the doc-reality audit Earn-core: doc-reality claim audit (claims → code+test or labelled experimental) #51 / ADR-0007.
  2. Schedule a single-module enforcement PoCthis issue.

Problem

The six Idris2 ABI proof modules compile and type-check, but none is enforced at the Elixir/Zig runtime boundary (Burble.Verification.Avow is data-type-only — BURBLE-PROOF-STATUS.md, READINESS.adoc). ADR-0008 Option C commits to proving the enforcement bridge is viable on one high-value module before committing to the full bridge.

Scope (deliberately one module)

  • Select the PoC module — Avow (attestation-chain non-circularity; security-relevant, currently the explicit data-type-only gap) or Permissions (capability lattice). Decide in the first task; document why.
  • Build a proof-derived validator at the Elixir↔Zig ABI boundary for that module: values violating the proven invariants are rejected at runtime, not merely typed.
  • Property tests demonstrating rejected/accepted cases align with the Idris2 proof.
  • Telemetry + a short design note (docs/...) on the bridge mechanism, so the full-bridge go/no-go has real data.

Exit criteria

A working enforcement bridge for one module + a written recommendation: extend to all modules (Route B "Majestic" moat), or stop at PoC and keep proofs as design assurance. That recommendation closes ADR-0008's follow-through.

References

ADR-0008 (Accepted, Option C), ADR-0007, BURBLE-PROOF-STATUS.md, PROOF-NEEDS.md, verification/. Part of the Earn-the-Core epic #53.

Metadata

Metadata

Assignees

No one assigned

    Labels

    earn-the-coreEarn-the-Core foundational hardening programenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions