From ef51f22d4c28f52526db9d60d56965f4b9ffccad Mon Sep 17 00:00:00 2001 From: Mikkeli Date: Fri, 4 Sep 2026 15:23:09 +0900 Subject: [PATCH] Rewrite as current state rather than how it was decided Co-Authored-By: Claude Opus 5 Claude-Session: https://claude.ai/code/session_013kj58Jugkic783b8ZrtTVZ --- README.md | 6 ++---- docs/GUIDELINES.md | 5 +++-- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 47bd3a6..09bc5f5 100644 --- a/README.md +++ b/README.md @@ -12,10 +12,8 @@ This file serves as the minimalist portal to other docs Everything needed to bring up a believable fake car on a workstation, so the rest of the project can be developed with no Jetson, no PCBs and no Z27AG present. -One repo rather than one per fixture: they share the contract, they change -together when a schema changes, and the whole point is to bring the fake -environment up in a single step. Splitting them would make that an orchestration -problem for no gain. +All fixtures live here together: they share the contract, they change together +when a schema changes, and the environment comes up in one step. - For implementation practice guidelines, refer to the [guidelines](docs/GUIDELINES.md); - For implementation plans and history, refer to [them](docs/impl/); diff --git a/docs/GUIDELINES.md b/docs/GUIDELINES.md index a32c920..85a0ed7 100644 --- a/docs/GUIDELINES.md +++ b/docs/GUIDELINES.md @@ -6,8 +6,9 @@ type: guidelines ## 1. Fixtures publish the real contract - A fixture emits the **real topic with the real payload schema**. `yukart/gnss/fix` from 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. +- ⚠ **A fixture that invents its own topic or shape defers integration rather than + removing it** — the mismatch surfaces when the real source arrives, which is the + moment it is most expensive. ## 2. Do not reimplement our own services - Stub the **car** and the **hardware**. Never write a *separate* implementation of