open-standards/joulecontract/joulecontract-rs
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Transaction Science 5cec3a0fbd joulecontract-proof: discharge a REAL postcondition through z3, not a toy
The vericoding seam existed but had only ever closed propositional
tautologies (p | !p) in tests — which proves the plumbing, not the claim.
This makes the claim real:

- a z3-gated integration test discharges a genuine arithmetic postcondition
  ("if debits equal credits, the net settlement is zero") encoded as an
  SMT-LIB2 goal whose negation z3 finds unsat — i.e. the property holds for
  all integers. It closes at the SMT tier with real measured joules; the
  pre/frame obligations, having no formalization, stay Unformalized (demoted,
  never faked). Where z3 is absent the obligation shows Unproved, never a
  fabricated pass — the standard's honesty rule holds in CI too.

- a runnable example (`cargo run -p joulecontract-proof --example vericode`)
  prints the per-obligation ledger end to end: the postcondition PROVED at
  the SMT tier with its measured energy, the unformalized obligations honestly
  marked, and discharged=false because the whole contract isn't proved. This
  is the artifact the "45% of AI code fails in production" pitch needs — a
  contract clause machine-proved, priced in joules.

6 lib tests (z3-gated test skips cleanly without a solver); example clean;
clippy clean.

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-06-10 22:55:22 -04:00
..
crates joulecontract-proof: discharge a REAL postcondition through z3, not a toy 2026-06-10 22:55:22 -04:00
.gitignore Add the JouleContract standard — a carrier for obligation 2026-06-10 03:30:59 -04:00
Cargo.lock family: the methodology layer, made auditable — spec, review, vericoding 2026-06-10 17:45:47 -04:00
Cargo.toml family: the methodology layer, made auditable — spec, review, vericoding 2026-06-10 17:45:47 -04:00