# Expected event accounting

Surface 15. Generated by `src/build_operation_docs.py` from `governance/obligations.jsonl` and the published M05 cells (`governance/published-measures.json`); nothing here is typed by hand.

## Contract and populations

- Obligation contract: `CCI-SYNTHETIC-CONTRACT-1/1.0.0`, bound from the pinned profiles and evidence policies (profiles.json `0b6fa5c78d49654f`, evidence-policies.json `450b893338bf5db0`).
- Triggering population: first deliveries in the frozen submission manifest (`governance/freeze/submissions-v1.manifest.json` `c81a13215e0d743b`), derived from independently retained requests, census, profiles and the frozen chronology; an obligation exists whether or not any response arrives.
- Ledger: 32,100 obligations, one row each, with kind, triggering fact, client, recipient, purpose, stage, grain, rule version, timing status, due time or an explicit null reason, received time per position and state per position.
- Evaluation cutoffs: each position's T and K (table below). Receipts count when received by K; timeliness uses received time.
- Timed states: satisfied on time, satisfied late, pending, overdue, justifiably cancelled. Untimed rows are either routes with no return promise or conditional obligations that the position does not activate; neither supplies a timeliness conclusion.

## known_then (T 2026-07-14T23:59:59Z, K 2026-07-14T23:59:59Z)

Obligations with a state at this position: 32,097; not yet known at K: 3. Obligation-id fingerprint: `6c8d74aca253cf01`.

| Total | Ledger | Published M05 cell | Equal |
|---|---:|---:|---|
| timed receipts expected | 24,693 | 24,693 | yes |
| timed receipts satisfied on time | 24,202 | 24,202 | yes |
| timed receipts satisfied late | 231 | 231 | yes |
| timed receipts pending | 0 | 0 | yes |
| timed receipts overdue | 260 | 260 | yes |
| timed receipts justifiably cancelled | 0 | 0 | yes |
| follow-ups expected | 3,702 | 3,702 | yes |
| follow-ups satisfied on time | 1,670 | 1,670 | yes |
| follow-ups satisfied late | 0 | 0 | yes |
| follow-ups pending | 0 | 0 | yes |
| follow-ups overdue | 2,032 | 2,032 | yes |
| untimed, no return promise | 1,352 | 1,352 | yes |
| untimed, conditional obligation not established | 2,350 | 2,350 | yes |

## restated_then (T 2026-07-14T23:59:59Z, K 2026-07-21T23:59:59Z)

Obligations with a state at this position: 32,097; not yet known at K: 3. Obligation-id fingerprint: `6c8d74aca253cf01`.

| Total | Ledger | Published M05 cell | Equal |
|---|---:|---:|---|
| timed receipts expected | 24,693 | 24,693 | yes |
| timed receipts satisfied on time | 24,202 | 24,202 | yes |
| timed receipts satisfied late | 231 | 231 | yes |
| timed receipts pending | 0 | 0 | yes |
| timed receipts overdue | 260 | 260 | yes |
| timed receipts justifiably cancelled | 0 | 0 | yes |
| follow-ups expected | 3,702 | 3,702 | yes |
| follow-ups satisfied on time | 1,670 | 1,670 | yes |
| follow-ups satisfied late | 0 | 0 | yes |
| follow-ups pending | 0 | 0 | yes |
| follow-ups overdue | 2,032 | 2,032 | yes |
| untimed, no return promise | 1,352 | 1,352 | yes |
| untimed, conditional obligation not established | 2,350 | 2,350 | yes |

## current_later (T 2026-07-21T23:59:59Z, K 2026-07-21T23:59:59Z)

Obligations with a state at this position: 32,100; not yet known at K: 0. Obligation-id fingerprint: `30893a6635530f5a`.

| Total | Ledger | Published M05 cell | Equal |
|---|---:|---:|---|
| timed receipts expected | 24,696 | 24,696 | yes |
| timed receipts satisfied on time | 24,205 | 24,205 | yes |
| timed receipts satisfied late | 231 | 231 | yes |
| timed receipts pending | 0 | 0 | yes |
| timed receipts overdue | 260 | 260 | yes |
| timed receipts justifiably cancelled | 0 | 0 | yes |
| follow-ups expected | 3,702 | 3,702 | yes |
| follow-ups satisfied on time | 1,670 | 1,670 | yes |
| follow-ups satisfied late | 0 | 0 | yes |
| follow-ups pending | 0 | 0 | yes |
| follow-ups overdue | 2,032 | 2,032 | yes |
| untimed, no return promise | 1,352 | 1,352 | yes |
| untimed, conditional obligation not established | 2,350 | 2,350 | yes |

## Result

At every position the ledger's state totals reconcile to the published M05 cells and to the ledger's own row count, with no state outside the contract: state totals reconcile.

## Limits

- The ledger carries the received time of the satisfying evidence per position, not the response row id; the row is recoverable from the delivery's dispositions in the build (`<position>/dispositions.jsonl`).
- Every timed obligation is past due at the later position or satisfied; the frozen chronology has no pending timed obligation at any position, so the pending path is exercised only by the small-gate tests and the diagnostics.
- No genuine scheduled run exists (surface 13 is blocked on plan decision D10), so these are static-build results, not operating results.
