packages/core/src/proof/engine.ts.
Proof Creation
A proof is created whenever a quest is completed. The proof type depends on how the completion was initiated:| Completion Path | Proof Type |
|---|---|
grindxp complete | self-report |
grindxp stop | duration |
| Forge: timer session | duration or multi-proof |
| Forge: git signal | git-commit |
| Forge: file watcher | file-change |
| Forge: process detector | process-check |
| Forge: calendar webhook | calendar-match |
| Manual with screenshot | screenshot |
| Companion AI analysis | ai-verify |
| Multiple signals combined | multi-proof |
Multi-Proof Aggregation
When the Forge detects multiple signal types for the same quest completion window, it upgrades tomulti-proof automatically:
Proof Data
Each proof record stores the raw evidence:Validation
validateProof(proof) checks that required fields are present for the given proof type. Invalid proofs fall back to self-report (1.0x) rather than rejecting the completion.