| Filename | Latest commit message | Latest commit date |
|---|---|---|
|
Some checks failed
standards workspaces build + test / aac-rs (pull_request) Successful in 51s
joule-code conformance gate / Build + round-trip C1-C4 vectors (pull_request) Failing after 1m7s
standards workspaces build + test / joule-code-rs (pull_request) Successful in 49s
jouleclaw public surface must stay documented / Public-surface audit (jouleclaw-rs) (pull_request) Successful in 1m2s
no-vanity-metrics / Scan committed Markdown for vanity metrics (pull_request) Successful in 3s
standards workspaces build + test / joulecontract-rs (pull_request) Successful in 1m37s
standards workspaces build + test / eoc-rs (pull_request) Successful in 1m49s
standards workspaces build + test / map-rs (pull_request) Successful in 1m11s
standards workspaces build + test / jcp-rs (pull_request) Successful in 1m14s
standards workspaces build + test / mesh-rs (pull_request) Successful in 1m18s
standards workspaces build + test / proof-rs (pull_request) Successful in 1m11s
standards workspaces build + test / openpay (pull_request) Successful in 2m4s
standards workspaces build + test / sandbox-rs (pull_request) Successful in 2m2s
wai cross-architecture byte-equality / linux-aarch64 (pull_request) Successful in 54s
WAI conformance / cargo-class corpora · linux-arm64 (pull_request) Successful in 50s
WAI conformance / cross-arch byte-equality · linux-arm64 (pull_request) Successful in 45s
standards workspaces build + test / smart-byte-rs (pull_request) Successful in 2m31s
wai cross-architecture byte-equality / linux-x86_64 (pull_request) Successful in 14s
WAI conformance / cargo-class corpora · linux (pull_request) Successful in 29s
WAI conformance / cross-arch byte-equality · linux (pull_request) Successful in 14s
standards workspaces build + test / joule-ui-rs (pull_request) Has been cancelled
standards workspaces build + test / jouledesk-rs (pull_request) Has been cancelled
standards workspaces build + test / joulehook-rs (pull_request) Has been cancelled
standards workspaces build + test / sense-rs (pull_request) Has been cancelled
standards workspaces build + test / arl-rs (pull_request) Has been cancelled
wai cross-architecture byte-equality / macos-arm64 (reference) (pull_request) Successful in 3m22s
WAI conformance / cargo-class corpora · macos (pull_request) Successful in 15m26s
WAI conformance / cross-arch byte-equality · macos (pull_request) Successful in 2m23s
wai cross-architecture byte-equality / windows-x86_64 (pull_request) Has been cancelled
WAI conformance / cargo-class corpora · windows (pull_request) Has been cancelled
WAI conformance / cross-arch byte-equality · windows (pull_request) Has been cancelled
Main landed PR #62's soundness work (`Solver::is_reference_stub`, `CascadeResult::closed_by_stub`, `require_substantive_proof`, and proof-conformance's `soundness.rs`) after this branch diverged. That work and the ladder fix here address the same defect from opposite ends: * main **detects** a fabricated proof — the stand-ins declare themselves, the result is marked, the cache does not launder the marker, and a relying party can refuse it. * this branch **prevents** it — the real ladders hold decision procedures only, so a solverless machine yields Unproved instead of escalating into a rung that proves anything. Both are wanted, but two overlapping markers are worse than one. Resolution: * Dropped `is_decision_procedure` in favour of main's published `is_reference_stub`, and re-expressed `ladder_is_sound` in its terms. The marker I added had the safer default (a new stand-in is excluded unless it claims to be checkable) but a second trait method meaning nearly the same thing is a worse outcome than losing that default. * Recovered the safety that default was buying at the ladder instead: `ladder_is_sound` now also pins the real ladders' exact tiers, so a stand-in that forgets to override `is_reference_stub` still cannot slip in unnoticed. Documented on the trait so the two halves are findable together. * `soundness.rs`'s `a_stand_in_proof_is_detectable_before_it_is_trusted` proved an open conjecture through `real_ladder()` to demonstrate detection. That premise is gone — it now exercises `reference_ladder()`, where stand-ins legitimately live, and the property it tests is unchanged. * Added `the_real_ladder_never_reaches_a_stand_in` as its companion. Detection is a last line of defence that only works if the relying party remembers to call it; not reaching a stand-in at all does not depend on anyone remembering. Note the defect was still live on main: main's `real_ladder()` still ends in `FrontierModel`, and main's own `joulecontract-proof` test asserts the SMT rung returns Unproved when no solver is present — which fails there on any machine without `z3`. 402 tests pass across proof-rs, joule-code and joulecontract, both with and without `z3` on PATH. The conformance vector pack is byte-identical. Co-Authored-By: Claude Opus 5 <[email protected]> |
||
| .. | ||
| lib.rs | ||
| prop.rs | ||