d4bd72ab83
Replaces `type: default` — one value across every document, read by nothing, so it discriminated nothing. Types are now reference, guidelines, plan and report, applied to every markdown file with no exceptions for the hub. Plans carry status and updated, reports carry date. REPOS.md already noted that plans go stale and reports do not, but nothing made that visible: a plan from months ago looked identical to one written today. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
1.6 KiB
1.6 KiB
type, status, updated
| type | status | updated |
|---|---|---|
| plan | active | 2026-09-04 |
Initial plan
What actually needs building
| Need | Answer | Ours? |
|---|---|---|
| A CAN bus that isn't a car | vcan — kernel module, no bitrate to configure |
No |
| Replay real captures | canplayer, with frame mapping so a log recorded on can1 plays onto vcan0 |
No |
| Traffic before any capture exists | ICSim — simulated cluster with speed, doors, indicators | No |
| GNSS fix | GPX or synthetic track → yukart/gnss/fix |
Yes, small |
| Local broker | a mosquitto config for the workstation | Trivial |
| App boundary peer | only if the full stack proves too heavy for Flutter iteration | Deferred |
Two of the three fixtures are configuration, not code.
Why ICSim matters more than it looks
Phase 2 is the hard part of this project: correlating observed frames against a written event log to work out what the Z27AG is saying. ICSim is built for exactly that exercise — a simulated cluster with controllable speed, doors and indicators, and four noise levels where level 0 is clean packets and level 3 randomises arbitration IDs and byte positions.
So the whole decode workflow can be practised, and the decoder written and tested, before a single real capture exists. That is worth doing while the PCBs are unassembled.
Order
vcanbring-up script — everything else needs a bus.- ICSim, vendored or documented, driving
vcan0. - GNSS fixture publishing
yukart/gnss/fix. - Local mosquitto config, and a single entry point that brings the whole fake car up.
canplayerwrappers — only useful once Phase 1 has produced real captures.