--- type: reference --- # Contracts Part of **Project Yukart**, making an old 2008 Mitsubishi Z27AG a bit smarter with modern technologies. This file serves as the minimalist portal to other docs ## What this repo is about The topic namespace, payload schemas and signal registry that every other repo depends on. Rust services, Python tooling and the Dart client all read the same definitions from here. | File | Holds | |---|---| | [`schema/topics.json`](schema/topics.json) | Topic namespace: payload kind, retention, rate, publisher | | [`schema/envelope.json`](schema/envelope.json) | JSON Schema for the decoded-signal envelope | | [`schema/signals.json`](schema/signals.json) | Signal registry — the single source for name, unit, type and range, and for where each decoded Z27AG signal sits in its CAN frame (`can` block) | | [`docs/BOUNDARY.md`](docs/BOUNDARY.md) | Display boundary protocol: what crosses between `svc-gw` and the app | | [`checklists/`](checklists/) | Recording checklists as data; the app bundles exact copies (its **Captures** page) | Decoded Z27AG signals (source `z27ag`) carry their frame layout in `signals.json` itself, so name, unit and bits cannot drift apart. A DBC for tools like SavvyCAN or cantools, if one is wanted, is generated from it, never edited by hand. Findings behind each layout: [`docs/impl/reports/`](docs/impl/reports/). - For implementation practice guidelines, refer to the [guidelines](docs/GUIDELINES.md); - For implementation plans and history, refer to [them](docs/impl/);