bitdispatcher

Proof

How bitdispatcher is tested, and what has not been tested

Dispatch software sends help to people in emergencies. This page says what every change must pass, and plainly what bitdispatcher has not yet been tried with.

On every change

  • make check: gofmt, go vet and the Go unit suites (the ledger, the state rebuilt from the ledger equals the live state, recommendations, mark-outs, the map importer and router, NIBRS and the Virginia file, scripts, sites).
  • make web-test: the web unit tests, including the manual checked against the screens.
  • make e2e: Playwright against a real bitdispatcher with demo data and the BitVoice simulator: sign-in, call to incident to dispatch, emergencies both ways, the mobile terminal, mark-outs and status checks, and three emulated monitors, each screen landing on its own, the selection shared across windows.
  • Golden files for i3 and EIDO generated by BitVoice's own encoder.

Every check runs in continuous integration on every push.

Status

Version 0.0.0: built and tested, not yet in service anywhere. It is on a lab and design-partner track, like BitVoice's public-safety side. Before a centre relies on it:

  • Not certified. Not CJIS-audited, no VCIN certification yet, and the Virginia IBR file has not yet been accepted by the State Police.
  • Tested against simulators and samples: NCIC (training simulator), BitVoice (its simulator and its encoder's output, not yet a live BitVoice), ALI (sample spills).
  • Multiple monitors tested with Chrome's emulated monitors, not yet on a real console's monitors.
  • Transcripts, crash data and drones tested with the simulator's callers, crash notifications and drone system, not yet a live speech-to-text engine, telematics provider or drone system. The phrasebook translates the language of emergencies, not everything; the injury-risk rating and the quality review are aids, not judgements.
  • Open decisions: when an ALI-only call (no hang-up signal) should end; whether agency scripts may reach outside the sandbox; VGIN's terms for its data outside Virginia.

See docs/DESIGN.md for the design, the rules and the phases, and docs/OPERATIONS.md for the ledger and how reports count.

The rules it is built to

  • The dispatcher decides. Recommendations, advisory checks and agency scripts advise; nothing dispatches, closes or changes the priority of an incident on its own.
  • Every part of the screen shows something the dispatcher acts on. No decoration, no empty space.
  • Everything from the browser. A setting reachable only from a file or the command line is a bug.
  • A record that cannot quietly change. Every event is appended to a hash-chained ledger, and the live state is rebuilt from it in the tests to prove they agree.

The design, its rules and its phases: docs/DESIGN.md.