v0.9.0 (advanced research prototype, ~74% complete per
.machine_readable/6a2/STATE.a2ml).
The Rust CLI in impl/rust-cli/ is a functional interactive shell with
reversible filesystem operations, transaction grouping, and
proof-annotated dry runs. It is NOT production-ready and NOT a drop-in
replacement for bash/zsh.
For the full honest status see CLAUDE.md; for caveats per claim see
EXPLAINME.adoc; for proof-debt see docs/PROOF_HOLES_AUDIT.md.
Last refreshed: 2026-06-02 (post-merge sweep: PRs #105 #106 #108 #109 — closes #60 / #61 / #70 / #89; PR #107 dropped codeql.yml).
Tracked against docs/governance/CRG-AUDIT-2026-04-18.adoc. Goal: green
CI on rust-cli.yml, dogfood evidence, structural compliance.
-
❏ Revert the remaining
.expect("TODO: handle error")sites inimpl/rust-cli/src/. Batches 1-3 cleared 136 of ~530 (commits712e3a1,962da88,f045ced). Remaining concentrated inparser.rs(116),commands.rs(66),arith.rs(55),state.rs(35) — each warrants its own session. Tracked under #41 (seam walk). -
✓ Resolved 2026-06-01 (#55, PR #55): The Coq
admit.inproofs/coq/filesystem_composition.vsingle_op_reversiblewas closed;verify-proofsCI job re-enabled withPrint Assumptionswiring. Three new admits surfaced and were filed as #56/#57/#58. -
❏ Turn
rust-cli.ymlgreen after the.expectsweep completes. -
✓ Resolved 2026-06-01 (#49, PR #55):
validation.yml verify-proofsre-enabled; build oracle now red-on-real-failure rather than silently disabled. Five cascading Coq build errors fixed in the same PR. -
❏ Per-directory README coverage 23% → ~90% (17 subtrees missing, enumerated in the audit).
-
❏ Add
[dogfooding-status]to STATE.a2ml with concrete daily-use entries. -
❏ Add 3+ ADRs to META.a2ml (six-system proof stack, Rust as primary implementation, property-testing as correspondence-gap mitigation) and populate
[development-practices]. -
✓ Resolved 2026-04-19:
impl/rust-ffi/deleted;ffi/rust/is canonical (superset, includesverification.rs, matches CLAUDE.md ABI/FFI standardffi/<lang>/). 7 sibling files were byte-identical;lib.rsdiffered only by thepub mod verification;export and richer doc-comment proof references. No build consumers. -
❏ Complete contractile six-verb layout: create
intend/(absorbs formerlust/, already removed in commita48a1dc),adjust/; relocatek9out ofcontractiles/per ADR-001 (k9 is svc, not a contractile). -
[~] Close
docs/reports/audit/audit-2026-04-04.mdresiduals:-
❏ Re-author 47 spoofed git commits (
Test <test@example.com>→ canonical attribution). Requires history rewrite + force-push; needs explicit human authorization before execution. -
❏ Wire Echidna CI integration for automated property-based verification.
-
✓ Remove dead code (
lean_ffi.rs,daemon_client.rs) — closed 2026-02-12 in commit5802dc9(predates the 2026-04-18 audit; the audit’s residual claim was stale). Phase 4C design docs underimpl/rust-cli/docs/carry archival banners noting the removal.
-
The following Phase-0 / housekeeping issues closed on 2026-06-01; their remediation work is rolled into the historical record above.
-
✓ #33 — security: 8 Critical/High panic-attack findings (Track C). Resolved by PR #52 (panic-attack triage); see
audits/assail-classifications.a2mlfor retained suppressions. -
✓ #44 — Docs max-out vs standards. Resolved by PR #53;
INTENT.contractile+methodology.a2mlplaceholders filled. -
✓ #46 — CI/CD reds on main (6 distinct workflows). Resolved by PR #54; 8 governance workflow fixes landed.
-
✓ #49 — Re-enable
verify-proofsCI job + 5 Coq build errors. Resolved by PR #55; 22 Coq errors closed andPrint Assumptionswired.
Open follow-ups: #41 (seam walk: panics + TODOs), #42 (proof inventory), #43 (test+bench expansion), #45 (filesystem-theory gap), #51 (L3 echo integration), #56/#57/#58 (the three admits surfaced by #55).
Most critical missing POSIX features, ranked by impact (per CLAUDE.md
and docs/POSIX_COMPLIANCE.md):
-
Shell functions (
func() { … }syntax) — blocks modular scripts. -
Shell script execution (
.shfiles, shebang handling). -
Word splitting (
$IFS) — unquoted variable expansions are not split. -
Tilde expansion beyond
~/incd. -
trap— cannot handle signals in scripts. -
alias— no command aliases. -
SIGCHLD / Ctrl+Z — job control incomplete.
docs/POSIX_COMPLIANCE.md carries the full M1-M11 milestone tracker;
M1-M9 complete, M10-M11 partial.
Hard requirements before any v1.0 claim:
-
❏ Mechanized Lean → Rust correspondence (currently property testing only, ~85% confidence).
-
✓ Close all real gaps in
docs/PROOF_HOLES_AUDIT.md— DONE (re-verified 2026-07-16 under Coq 8.18.0): 0 real gaps; 1 justified axiom (is_empty_dir_dec) + 1 structural (funext) remain. -
❏ CRG v2.0 grade B: 6+ diverse external targets, issues fed back. See audit
=== External validationsection for the proposed diverse-6 shape. -
[~] RMO (Remove-Match-Obliterate): file-level
obliterateimplemented and wired (best-effort 3-pass overwrite + unlink + append-only audit residue). Remaining for full GDPR: hardware erase for CoW/SSD, audit HMAC signing, recursive-dir hardening. Tracked under #41. -
❏ Echidna integration for automated property-based verification.
Begin the Idris2 extraction path (per CLAUDE.md "This Month" plan).
-
❏ Populate
src/abi/Idris2 ABI definitions beyond the current 3-file stubs (Types.idr,Layout.idr,Foreign.idr). -
❏ Wire Zig FFI:
ffi/zig/builds but is not integrated with the Rust CLI;impl/zig/targets ~5ms cold start. -
❏ BEAM daemon implementation (planned, not built; Elixir NIF build currently broken, low priority).
-
This roadmap supersedes the prior rsr-template stub. Authoritative next-step detail lives here; CLAUDE.md retains the honest-status narrative.
-
All milestone items are grep-verifiable against on-disk artefacts.
-
Cadence: edit ends with an Agda/Coq/Lean compile or
cargo build
cargo test; outcomes captured in commit messages.