The journey of a case, and eight things the ledger must get right
A reported crime becomes a docket, moves between hands, reaches a prosecutor, reaches a court. The ledger records identity and movement — never contents — and the court records, independently of the police, whether the docket arrived.
Guided stories
Each step is executed against the ledger when you click it. Read the outcome, then the rule that requires it.
Roles, stations and courts are synthetic. The drafting rules A1–A8 are from policy/README.md; identifiers such as WF-002 or STAT-F08 are requirement IDs in the specification.
Capture
What a member sees at the counter, in the charge office, or in court. The permitted events depend on the selected role; the required fields depend on the event code.
Read a timeline as this role
Reconciliation findings
What the ledger concludes when the court's observation and the police's records are compared — and what it refuses to conclude.
DOCKET-ABSENCE-v1 (§9.1): one finding per hearing at which the court recorded the docket absent
Every 401 observation is preserved. MATCHED_MISSING_REPORT: the police had already reported the docket missing (107) before the hearing and had not closed it (108); the finding tracks recovery. WAITING_FOR_SOURCE: the police deadline plus grace has not yet elapsed, so no conclusion is drawn. UNEXPLAINED_ABSENCE: the deadline elapsed, the station's stream was complete for the window, and no report exists; the station commander (R04) must explain within three working days and the court steward (R11) responds. SOURCE_INCOMPLETE: the deadline elapsed but the station's feed was not complete for the window, so absence of a report is not evidence. DISPUTED and RESOLVED_WITH_EVIDENCE are set only by a human (R12) and never changed by the rule.
Other rules (§9.2): custody gaps, referral gaps, reason gaps, late bulk entry, residual reasons, feed silence, intake integrity
Each row is a data-integrity signal with a fingerprint, so re-running the rules updates the row rather than duplicating it. A signal names a unit or a docket and what is missing; it does not name a person and it is not a misconduct classification.
Finding history (append-only)
Custody
The movement register as a system record: every handover is two attestations by two people, a dispatch never names the recipient as custodian, and an open handover stays visible until someone scans the docket in.
Click a docket to open its register.
The paper backlog
The 1.9 million open paper dockets are never scanned. A census gives the denominator, enrolment on touch gives the numerator, and the gap between them is the first honest number. A station with no census rows is reported as not reported — never zero.
L4 legacy-population report, by station
The census roll
Each row asserts that a record existed in a source system at the census instant, in the exact format the station held it. It does not assert that a physical docket exists.
What the paper produces, and what the ledger records
Nothing in the right-hand column requires reading the docket.
Publication
Only a package that passed every automated check, was cleared by the Information Officer and approved by a different person is copied — byte for byte — to the public store and the independent archive.
Click a release to read what it says, what it passed, and where its copies are.
Public status entries
The ledger itself
Append-only streams, hash-chained envelopes, signed checkpoints held elsewhere, and an audit record for every allow and every deny.
Streams
Audit (latest 25)
The rules, and whether the system keeps them
Built from the sources every time the page loads: every requirement identifier in specification v1.1, the eight drafting rules and seven instrument checklists in the policy guide, the traceability matrix, the verification report and the decision register. Each item carries one status. Absence is listed, never omitted.