| Charge | Monetary penalty/clean/repair/replace for a property item (amountMinor + currency, lifecycle outstanding to paid) |
| Contest | Student-provided reason (10–2000 graphemes) + 0–5 attachments that moves outstanding to contested |
| Accept | Student accept (outstanding to accepted) or deadline auto-accept or operator uphold; always writes acceptedAt + acceptanceOrigin |
| Pay | Mock payment on accepted to paid; no provider integration |
| Deadline | deadlineAt = raisedAt + gracePeriodDays UTC; inclusive now >= deadlineAt |
| Reconciliation | Store-under-lock promotion of elapsed outstanding to accepted before read/mutation/scheduler |
| Hub | Aggregate view per booking: inventory reports, inspections, tasks, charges, notifications; tabs Open and History |
| Inspection | Property walk: generalNotes, itemActions (chargeId? + amountMinor?), itemUpdates |
| Inventory Report | External report (reportUrl) linked from Hub inventory cards |
| Task | Maintenance work with category, notes, location, date, status; id client UUID authoritative |
| Photo / ContestAttachment | Evidence media; id=att_... opaque, downloadUrl bytes, thumbnailUrl optional |
| Envelope | Wire wrapper with data or error plus meta (schemaVersion, requestId, serverTime, stateEpoch, storeRevision) |
| stateEpoch | Snapshot epoch UUID; changes only on /_dev/reset or reseed |
| storeRevision | Monotonic per-commit int; survives restart |
| streamEpoch/Cursor | SSE + GET /sync-snapshot cursor; Last-Event-ID replays ring |
| Idempotency-Key | UUID header on Accept/Contest/Pay/taskCreate; method plus route plus resource plus key scope; RFC 8785 digest |
| Outbox | Drift OutboxRows queue for offline Accept/Contest/Pay; drained by SyncService on online |
| LiveSync | SSE GET /events to SseEntityCommitter incremental patch |
| Fixture bundle | Exported app_state.json plus manifest plus media plus vectors committed to assets/fixtures/ |
| Kx prefix | Product design-system prefix (KxButton, KxTheme, KxSpacing) |
| ReferenceNow | 2026-08-01T12:00:00Z demo anchor; KX_DEMO_NOW / AnchoredDemoClock pins it |
| G-01 / G-02 | G-01 = contract freeze gate; G-02 = publication gate (hosting/evidence) |
| Chaos | Probabilistic out-of-contract latency / 429 injection used to prove retry / offline resilience |
| ARB | Flutter Application Resource Bundle (app_en.arb, app_cy.arb) — Welsh second locale |
| Dart characters | UAX #29 grapheme counter mirroring server graphemes.py |
| Connector | Domain-typed connector between widgets and stores (Cubit/Bloc/Repository) |
| FeatureSlots | DI seam createAppRouter closes over for plug-in feature pages |
| Harness | Deterministic MediaQuery + Directionality wrapper used for goldens |
| R-02-0x etc. | Part shared-file requests recorded in docs/handoffs/part-0x-shared-files.md |