| 1 | package event |
| 2 | |
| 3 | // ReadStatusPayload is the host-only delivery state of one logical read. It is |
| 4 | // keyed by turn, read id, and generation, and holds ranges only: never source |
| 5 | // text, never a whole-file digest presented as a percentage. |
| 6 | // Covered and Missing use zero-based half-open source ranges, like read |
| 7 | // envelopes and pause receipts. Consumers perform one-based display conversion. |
| 8 | type ReadStatusPayload struct { |
| 9 | // Verdict is additive; older consumers continue to render State/Reason. |
| 10 | Verdict string `json:"verdict,omitempty"` |
| 11 | ReadID string `json:"read_id"` |
| 12 | Generation uint64 `json:"generation,omitempty"` |
| 13 | Sequence uint64 `json:"sequence,omitempty"` |
| 14 | Path string `json:"path"` |
| 15 | Intent string `json:"intent,omitempty"` |
| 16 | State string `json:"state"` |
| 17 | Covered [][2]int `json:"covered,omitempty"` |
| 18 | Missing [][2]int `json:"missing,omitempty"` |
| 19 | SourceEnd *int `json:"source_end,omitempty"` |
| 20 | HasMore bool `json:"has_more,omitempty"` |
| 21 | Reason string `json:"reason,omitempty"` |
| 22 | Recovery string `json:"recovery,omitempty"` |
| 23 | Active bool `json:"active,omitempty"` |
| 24 | } |
| 25 |