| 1 | package event |
| 2 | |
| 3 | import "reasonix/internal/checkpoint" |
| 4 | |
| 5 | // CompletionReceipt is the user-facing completion record on TurnDone: what the |
| 6 | // host could verify about the turn's work, and — the part no prose reliably |
| 7 | // carries — what it could not. Unlike the shadow audit this holds content, |
| 8 | // because a receipt naming no file and no command tells the reader nothing. |
| 9 | type CompletionReceipt struct { |
| 10 | AssessmentKind string |
| 11 | Diff *checkpoint.TurnChanges |
| 12 | Interrupted bool |
| 13 | Verdict string |
| 14 | Changes []ReceiptChange |
| 15 | Verifications []ReceiptVerification |
| 16 | Gaps []ReceiptGap |
| 17 | Risks []string |
| 18 | } |
| 19 | |
| 20 | // ReceiptChange is one mutated path and whether anything looked at it again. |
| 21 | type ReceiptChange struct { |
| 22 | Path string |
| 23 | Reviewed bool |
| 24 | } |
| 25 | |
| 26 | // ReceiptVerification is a verification command's last outcome. Stale means it |
| 27 | // ran before the newest change, so it proves nothing about the current tree. |
| 28 | type ReceiptVerification struct { |
| 29 | Command string |
| 30 | Passed bool |
| 31 | Stale bool |
| 32 | ToolCallID string |
| 33 | ToolResultID string |
| 34 | Interrupted bool |
| 35 | ExitCode *int |
| 36 | } |
| 37 | |
| 38 | // ReceiptGap is one thing the receipt refuses to present as verified. |
| 39 | type ReceiptGap struct { |
| 40 | Kind string |
| 41 | Detail string |
| 42 | } |
| 43 |