01 Purpose
ProofRivet keeps Claimed Complete, Tested, and Accepted apart for a software project, and produces a handoff report an owner can read.
Intended user: a project owner checking work from developers or development agents.
02 Problem and Constraints
A developer or agent can report a project complete while the owner still cannot tell which requirements were tested against which build, or what changed afterward.
- Work claims are kept, but they never count as evidence.
- Accept is refused unless passing evidence holds for the recorded current build.
- Git is read only. ProofRivet never commits, checks out, resets, or pushes.
- Anything that cannot be compared counts as changed, so unknown never reads as tested.
03 What Was Built
- Screens for Projects, Status Board, Requirements, Requirement, Checks and Runs, Work Claims, Manual Evidence, Changes, and Handoff.
- Requirements that list the files they depend on.
- Checks that run as real commands in the project’s git working copy with your login shell. Each run records the build (the commit plus a fingerprint of uncommitted changes), the exit code, the time, and a SHA-256 of the output.
- Stale evidence: when later changes touch a requirement’s watched files, its evidence and any acceptance are marked stale.
- A Markdown handoff report listing what is failing, only claimed, never checked, and made stale.
- A synthetic sample project in its own throwaway git folder. ProofRivet refuses to replace any folder that is not marked as its sample.
04 Design and Engineering Decisions
- 01
Native, No Web View
SwiftUI and AppKit in one Swift package, with no third-party packages.
- 02
Claims Are Not Evidence
What someone said is kept and shown, but only a recorded check or manual evidence can make a requirement Tested.
- 03
Verification Changes Nothing
Git is used read only, so checking the code never alters the code being checked.
- 04
Conservative Staleness
Evidence holds only while the requirement’s watched files are unchanged; builds that cannot be compared count as changed.
- 05
Newest Applicable Run Decides
For each check, the newest run that still applies to the current code decides whether it is failing.
05 Architecture
06 Verified Results
| Measure | Result | Context |
|---|---|---|
| Release build | Built with no compile errors | Swift release build, 4 November 2026, on the Mac |
| Headless self-test | 11 of 11 passing | Rules and storage checked on throwaway files, same run |
| Window interface test | 20 of 20 passing | A real window, every screen, with button presses through the accessibility tree, same run |
| Normal launch | Opened, ran, and quit cleanly | No real library file was created |
| Hand click-through | Not yet done | Forms were exercised through the same model calls they make, not typed into by a person |

07 Third-Party Components
None. ProofRivet is built with Apple’s Swift, SwiftUI, and AppKit, with no third-party packages, no web view, and no network access.
