Files
contracts/docs/impl/plans/INITIAL.md
T

1.2 KiB

type, status, updated
type status updated
plan active 2026-09-05

Initial plan

What is defined

The envelope, the topic namespace, and the standard OBD-II signals — the ones whose names, units and ranges are fixed by the standard rather than by the car.

What is not

Z27AG-specific signals. They do not exist until Phase 2 identifies them from observed traffic. They arrive as DBC entries plus registry rows with source: "z27ag", one at a time as each is confirmed.

Composite payload shapes. gnss/fix, nav/guidance, nav/route and system/<service> have their fields named in topics.json but no JSON Schema yet. They get one when a publisher exists to constrain.

Order

  1. Schema validation available to all three languages — the Rust services, the Python fixtures and the Dart client must reject a malformed message identically, or the contract is decorative.
  2. gnss/fix schema, driven by what tool-mock replays.
  3. Z27AG signals, as Phase 2 confirms them.

Consumers

Repo Reads
svc-core signals, envelope, DBC
svc-gw topics, envelope
svc-nav topics, envelope
app-flutter topics, envelope, signals (for display units)
tool-mock all of it — fixtures publish the real schema