You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ArghDA M0 complete: arghda doctor — honest backend availability probe
Closes the last M0 gap. `arghda doctor` probes every known backend by
running `<command> --version` and reports which are actually runnable —
honestly (runnable=false only when the binary genuinely cannot execute,
never a guess), the same discipline as `check_file`'s graceful degradation.
- `src/prover/mod.rs` — `Probe { backend, kind, runnable, detail }` +
`probe_tool()`; `Backend::command()` (the binary, which may differ from
`name()` — `agda-cubical` runs `agda`) + a default `Backend::probe()`.
- `src/prover/{agda,idris2,smt}.rs` — `command()` for each of the five.
- `src/main.rs` — `doctor [--json]` subcommand over `KNOWN_BACKENDS`.
- `Justfile` — `just doctor` repointed off the interim provision-script shim
onto `cargo run -- doctor`.
## Verified (ran, not inferred)
- `cargo test` → 108 passing, 0 failed (+1 probe/command honesty unit).
- clippy -D warnings, fmt, SPDX clean.
- Dogfooded: `arghda doctor` → 5/5 runnable (agda 2.6.3, agda-cubical [shares
agda], idris2 0.7.0, z3 4.8.12, cvc5 1.2.0), real version lines; `--json`
emits the machine-readable form.
- STATE.a2ml records M0 = 100%. Engine-spine core (M0-M5) complete.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012MpYSh6Wy8YMBH2E3qVyT7
# M2 landed 2026-07-01: Cubical-Agda variant. Implemented as a SEPARATE backend
64
74
# `AgdaCubical` (name "agda-cubical") rather than the plan's `Agda::cubical()`
65
75
# constructor — a distinct type expresses the flag-profile ISLAND better (a
@@ -152,10 +162,10 @@ milestones = [
152
162
153
163
[critical-next-actions]
154
164
actions = [
155
-
"M1 + M2 + M3 + M4 + M5 DONE. Five backends across both interaction models: agda, agda-cubical, idris2 (Assistant); z3, cvc5 (Solver). Next:",
156
-
"Finish M0: add the `arghda doctor` Rust subcommand — report which of the five backends are actually runnable (probe each binary), repoint `just doctor` at it, feed the Groove manifest. Closes the last M0 gap.",
157
-
"Flying-Logic epic M6: Lean4 adapter (lake build + #print axioms audit → honest Unknown soundness when the audit is absent). Lean 4.13.0 provisioned.",
158
-
"Flying-Logic epic M11: studio JSON freeze (reason/0.1) + Groove /.well-known/groove manifest (the one open v0.1 milestone).",
0 commit comments