goal-record-iteration-certificate
Record one completed LeanSolver iteration against the current tracked contract. Result artifact refs must resolve to existing evidence or goal_attachment rows owned by this goal. Rework iterations accept only registered finding IDs and require a separate judged evidence row as repeatCheckEvidenceId; Planner derives the repeat verdict server-side. Only certificates admitted here may affect the numeric implementation rework rate.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| action | Yes | Action that changed the result | |
| goalId | Yes | Goal UUID | |
| outcome | Yes | Observable completed result | |
| acVerdict | Yes | matches, weak, mismatch, or errored | |
| reworkClass | Yes | implementation, contract, proof_only, or unknown | |
| artifactRefs | Yes | Existing goal-owned evidence/goal_attachment refs | |
| precondition | Yes | Observable state before the iteration | |
| coverageDelta | No | Structured coverage change | |
| afterFingerprint | Yes | Lowercase SHA-256 of the completed result | |
| beforeFingerprint | No | Optional lowercase SHA-256 of the prior result | |
| addressesFindingIds | No | Registered finding UUIDs addressed by this iteration | |
| repeatCheckEvidenceId | No | Separate judged evidence UUID; mandatory when findings are addressed |