Commit f61876d
committed
ArghDA M3 follow-on: workspace-fed verdicts + staleness in
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_012MpYSh6Wy8YMBH2E3qVyT7reason
1 parent 58e2e91 commit f61876d
4 files changed
Lines changed: 145 additions & 9 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
100 | 100 | | |
101 | 101 | | |
102 | 102 | | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
103 | 119 | | |
104 | 120 | | |
105 | 121 | | |
| |||
260 | 276 | | |
261 | 277 | | |
262 | 278 | | |
263 | | - | |
| 279 | + | |
264 | 280 | | |
265 | 281 | | |
266 | 282 | | |
| |||
270 | 286 | | |
271 | 287 | | |
272 | 288 | | |
273 | | - | |
274 | | - | |
| 289 | + | |
| 290 | + | |
| 291 | + | |
275 | 292 | | |
276 | 293 | | |
277 | 294 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
38 | 38 | | |
39 | 39 | | |
40 | 40 | | |
41 | | - | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
42 | 44 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
151 | 151 | | |
152 | 152 | | |
153 | 153 | | |
| 154 | + | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
154 | 160 | | |
155 | 161 | | |
156 | 162 | | |
| |||
242 | 248 | | |
243 | 249 | | |
244 | 250 | | |
| 251 | + | |
245 | 252 | | |
246 | 253 | | |
247 | 254 | | |
| |||
250 | 257 | | |
251 | 258 | | |
252 | 259 | | |
| 260 | + | |
253 | 261 | | |
254 | 262 | | |
255 | 263 | | |
| |||
542 | 550 | | |
543 | 551 | | |
544 | 552 | | |
| 553 | + | |
545 | 554 | | |
546 | 555 | | |
547 | 556 | | |
| |||
550 | 559 | | |
551 | 560 | | |
552 | 561 | | |
| 562 | + | |
553 | 563 | | |
554 | 564 | | |
555 | 565 | | |
| |||
567 | 577 | | |
568 | 578 | | |
569 | 579 | | |
570 | | - | |
571 | | - | |
572 | | - | |
573 | | - | |
| 580 | + | |
574 | 581 | | |
575 | | - | |
| 582 | + | |
| 583 | + | |
| 584 | + | |
| 585 | + | |
| 586 | + | |
| 587 | + | |
| 588 | + | |
| 589 | + | |
| 590 | + | |
| 591 | + | |
| 592 | + | |
| 593 | + | |
| 594 | + | |
| 595 | + | |
| 596 | + | |
| 597 | + | |
| 598 | + | |
| 599 | + | |
| 600 | + | |
| 601 | + | |
| 602 | + | |
576 | 603 | | |
577 | 604 | | |
578 | 605 | | |
579 | 606 | | |
580 | 607 | | |
581 | 608 | | |
582 | 609 | | |
| 610 | + | |
583 | 611 | | |
584 | 612 | | |
585 | 613 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
316 | 316 | | |
317 | 317 | | |
318 | 318 | | |
| 319 | + | |
| 320 | + | |
| 321 | + | |
| 322 | + | |
| 323 | + | |
| 324 | + | |
| 325 | + | |
| 326 | + | |
| 327 | + | |
| 328 | + | |
| 329 | + | |
| 330 | + | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
| 345 | + | |
| 346 | + | |
| 347 | + | |
| 348 | + | |
| 349 | + | |
319 | 350 | | |
320 | 351 | | |
321 | 352 | | |
| |||
592 | 623 | | |
593 | 624 | | |
594 | 625 | | |
| 626 | + | |
| 627 | + | |
| 628 | + | |
| 629 | + | |
| 630 | + | |
| 631 | + | |
| 632 | + | |
| 633 | + | |
| 634 | + | |
| 635 | + | |
| 636 | + | |
| 637 | + | |
| 638 | + | |
| 639 | + | |
| 640 | + | |
| 641 | + | |
| 642 | + | |
| 643 | + | |
| 644 | + | |
| 645 | + | |
| 646 | + | |
| 647 | + | |
| 648 | + | |
| 649 | + | |
| 650 | + | |
| 651 | + | |
| 652 | + | |
| 653 | + | |
| 654 | + | |
| 655 | + | |
| 656 | + | |
| 657 | + | |
| 658 | + | |
| 659 | + | |
| 660 | + | |
| 661 | + | |
| 662 | + | |
| 663 | + | |
| 664 | + | |
| 665 | + | |
| 666 | + | |
| 667 | + | |
| 668 | + | |
| 669 | + | |
| 670 | + | |
| 671 | + | |
| 672 | + | |
| 673 | + | |
| 674 | + | |
| 675 | + | |
| 676 | + | |
| 677 | + | |
| 678 | + | |
| 679 | + | |
| 680 | + | |
| 681 | + | |
| 682 | + | |
| 683 | + | |
595 | 684 | | |
0 commit comments