Skip to content

Latest commit

 

History

History
75 lines (57 loc) · 2.61 KB

File metadata and controls

75 lines (57 loc) · 2.61 KB

Error-Lang Contractiles

This directory contains the operational contract for the Error-Lang project. Contractiles are the invariant, recovery, trust, and intent framework that governs how the project evolves, how failures are recovered from, and where it is going.

1. Contents

File Status Purpose

must/Mustfile

✅ Active

Required invariants — what must ALWAYS be true. Run these checks to verify project health.

dust/Dustfile

✅ Active

Recovery semantics — what to do when something breaks. Rollback handlers and undo procedures.

trust/Trustfile.hs

✅ Active

Trust and verification — cryptographic and semantic verification steps.

lust/Intentfile

✅ Active

Intent and roadmap — where this project is going and why.

2. How to Use

2.1. Verifying invariants (must/)

# The Mustfile defines checks that must pass before any release.
# Run individual checks by extracting the `run:` commands.
# A `just` recipe (`just validate-rsr`) runs the composite check.
just validate-rsr

2.2. Recovery from failures (dust/)

Consult dust/Dustfile when something breaks. Each handler names the failure event, the undo action, and the verification step.

The most critical handlers are:

  • echo-invariant-violation — the decomposition-must-be-visible invariant was broken

  • stability-debit-missingecho_to_residue ran but stability was not debited

  • residue-unified-with-echo — the type checker let EchoR unify into Echo

2.3. Critical invariants

The non-negotiable invariants for this project:

  1. SPDX headers — every source file has a valid SPDX-License-Identifier header

  2. Echo decomposition is visibleecho_to_residue always debits stability, EchoR never unifies with Echo, echo_input is always rejected on a residue

  3. Grammar is canonicalspec/grammar.ebnf is the single source of truth

  4. No banned languages — TypeScript, Python, Go, Node.js are banned at runtime boundaries (the existing compiler/*.res is legacy, pending AffineScript re-target)

  5. Spec files intactspec/grammar.ebnf and spec/SPEC.core.scm are never deleted

See docs/Echo-Decomposition.adoc and spec/type-system.md §7 for the Echo decomposition contract. See 0-AI-MANIFEST.a2ml for the full agent-readable invariant list.