32d5df87ab
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ
1.1 KiB
1.1 KiB
type
| type |
|---|
| default |
Mock and fixture guidelines
1. Fixtures publish the real contract
- A fixture emits the real topic with the real payload schema.
yukart/gnss/fixfrom a replayed track must be indistinguishable, at the bus, from a real fix. - A fixture that invents its own topic or shape is worse than no fixture: it defers the integration work instead of removing it.
2. Never stub our own services
- Stub the car and the hardware. Never stub
svc-gw,svc-navor anything else we wrote. - A stub of our own service is a second implementation of our own contract, and it will drift from the first. Run the real service against fake inputs instead — none of our services touch hardware, so they all run on x86 unmodified.
3. Prefer upstream tools, wrap rather than rewrite
vcan,canplayerand ICSim already solve the CAN problem. This repo holds the scripts that drive them, not reimplementations of them.
4. Recorded logs are data, not source
candumplogs and GPX tracks are artifacts. Reference them, do not commit them.