Skip to content

ArghDA M3 follow-on: workspace-fed verdicts + staleness in reason#43

Merged
hyperpolymath merged 1 commit into
mainfrom
claude/arghda-roadmap-planning-p5mu93
Jul 1, 2026
Merged

ArghDA M3 follow-on: workspace-fed verdicts + staleness in reason#43
hyperpolymath merged 1 commit into
mainfrom
claude/arghda-roadmap-planning-p5mu93

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

What

The Flying-Logic reasoning graph can now source real prover verdicts from a four-state workspace's proven/ state without re-running any tool, and demote a stale-proven node back to unknown. Honest by construction — a verdict only ever comes from a recorded promotion, and staleness always dominates a stale Proven.

This is the last of the three refinement follow-ons (M4 .ipkg roots #41, M6 axiom audit #42, M3 workspace verdicts).

How

  • reason::workspace_verdicts(dag, proven, stale) -> (verdicts, stale) — a pure mapping (no I/O, unit-testable): a node whose file basename is in the workspace's proven/ set → Proven; if that same file is stale (content/closure hash changed since promotion) it is added to the returned stale set, so the existing demote-only fold lowers it to Unknown. Matched by file basename (documented collision caveat). Re-exported from lib.rs.
  • arghda reason <path> --workspace <ws> — reads the proven + stale-proven basename sets off the workspace (Workspace::list(Proven) / Workspace::stale_proven) and feeds them into workspace_verdicts. --check stays authoritative: a fresh typecheck overrides the workspace verdict and clears staleness for that node.
  • Honest evidence strings"prover: proven" for a fresh promotion; "prover: proven; stale: closure hash changed" for a demoted stale one.

Verification (actually run)

  • cargo fmt --check — clean
  • cargo clippy --all-targets -- -D warnings — clean
  • cargo test130 pass (+1 reason unit: proven lights the cone, stale demotes)
  • bash scripts/check-spdx.sh . — OK

Dogfooded end-to-end on a real workspace + Agda source tree:

  • Scenario A (fresh proven leaf): Goodeffective: proven ("prover: proven"); un-proven root Allunknown.
  • Scenario B (proven file edited on disk → stale): Good demoted to unknown with "prover: proven; stale: closure hash changed".

Scope

Additive only. M3 base was already 100%; this refinement wires the reasoning graph to the triage workspace's ground truth. No change to the reason/0.1 JSON contract keys.

🤖 Generated with Claude Code

https://claude.ai/code/session_012MpYSh6Wy8YMBH2E3qVyT7


Generated by Claude Code

The Flying-Logic reasoning graph can now source REAL prover verdicts from a
four-state workspace's `proven/` state without re-running any tool, and demote a
stale-proven node back to unknown — honest by construction, never fabricated.

- `reason::workspace_verdicts(dag, proven, stale)` — pure mapping: a node whose
  file basename is in the workspace's `proven/` set → Proven; if that same file
  is stale (content/closure hash changed since promotion) it is added to the
  stale set, so the existing demote-only fold lowers it to Unknown. Matched by
  file basename (documented collision caveat). Re-exported from lib.rs.
- `arghda reason <path> --workspace <ws>`: reads the proven + stale-proven
  basename sets off the workspace (Workspace::list / stale_proven) and feeds
  them in. `--check` stays authoritative — a fresh typecheck overrides the
  workspace verdict and clears staleness for that node.
- Evidence strings are honest: "prover: proven" for a fresh promotion,
  "prover: proven; stale: closure hash changed" for a demoted stale one.

Verification: `cargo fmt --check`, `cargo clippy --all-targets -- -D warnings`,
`cargo test` (130 pass, +1 reason unit), `check-spdx.sh` all green. Dogfooded
end-to-end: fresh proven leaf → effective proven, un-proven root → unknown;
editing the proven file on disk → node demoted to unknown with the stale
evidence string.

Completes the refinement follow-ons bucket (M4 .ipkg roots, M6 axiom audit, M3
workspace verdicts).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012MpYSh6Wy8YMBH2E3qVyT7
@hyperpolymath
hyperpolymath marked this pull request as ready for review July 1, 2026 10:58
@hyperpolymath
hyperpolymath merged commit 0aa9ff2 into main Jul 1, 2026
3 checks passed
@hyperpolymath
hyperpolymath deleted the claude/arghda-roadmap-planning-p5mu93 branch July 1, 2026 10:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants