Look at the diff
When Family Council shipped, the diff against pre-council master showed: new backend/council/ directory, new frontend/src/components/council/ directory, new persistence directory. No changes to backend/adapters/, backend/routes/chat.py, backend/store/conversations.py, or any variant directory.
Why this matters
Council is the crown of the Three Rules — proof that an entirely new feature surface can be built without disturbing the canonical brain endpoints. If it can be done for council (multi-party orchestration is the hardest case), it can be done for anything else.
The principle: Before adding a new feature, ask: 'Can I build this above the existing layers without touching them?' If yes, do it. If no, ask why — sometimes the right move is a Rule 2 ancestor touch (rare), but most of the time the answer is 'because I'm reaching for the wrong abstraction.'