[package] name = "joule-code-remediate" description = "The reference verified-fix harness: scan a Rust workspace, remediate at the cheapest sufficient cascade tier (L1 lawful codemods first), gate every fix behind a verification pipeline whose stages ARE the contract obligations, and emit a JouleContract receipt with hardware-measured joules sealed by a sandbox meter attestation. A fix that fails its gate is reverted, never shipped." version.workspace = true edition.workspace = true license.workspace = true repository.workspace = true rust-version.workspace = true [dependencies] joule-code-schema = { workspace = true } joule-code-cargo = { workspace = true } joule-code-joulecontract = { path = "../joule-code-joulecontract" } joulecontract-schema = { path = "../../../../joulecontract/joulecontract-rs/crates/joulecontract-schema" } joulecontract-receipt = { path = "../../../../joulecontract/joulecontract-rs/crates/joulecontract-receipt" } joulecontract-wire = { path = "../../../../joulecontract/joulecontract-rs/crates/joulecontract-wire" } sandbox-meter = { path = "../../../../sandbox/sandbox-rs/crates/sandbox-meter" } sandbox-schema = { path = "../../../../sandbox/sandbox-rs/crates/sandbox-schema" } ed25519-dalek = { workspace = true } serde = { workspace = true } serde_json = { workspace = true } thiserror = { workspace = true } # The formally-verified fix tier (SPEC: the rung above build+test). When a run # carries a formalization (`.joule-fix/formal.json`), the harness discharges the # fix's formal obligations through the joulecontract→proof vericoding bridge over # a real `z3`, and a refuted/unproved obligation reverts the fix like any other # failed gate. Decision-procedure ladder only — a formal gate must never fall # through to a model stand-in (see `examples/formal_fix.rs`). joulecontract-proof = { path = "../../../../joulecontract/joulecontract-rs/crates/joulecontract-proof" } proof-cascade = { path = "../../../../proof/proof-rs/crates/proof-cascade" } proof-solvers = { path = "../../../../proof/proof-rs/crates/proof-solvers" } proof-schema = { path = "../../../../proof/proof-rs/crates/proof-schema" } [[bin]] name = "joule-fix" path = "src/bin/joule_fix.rs"