Update instructions, agents, skills - part 1
Quality Gate / gate (push) Successful in 2m41s

This commit is contained in:
Jim Lancaster
2026-09-02 14:05:41 -05:00
parent 88cef169c4
commit e5ef4d4422
8 changed files with 94 additions and 20 deletions
+6
View File
@@ -89,6 +89,12 @@ Non-obvious things that have already caused real bugs here:
- **Shared symbols have more consumers than the obvious one.** Before changing a model field,
exception attribute, or helper return value, grep for every consumer including tests.
Evidence and logging paths frequently read the same fields the UI does.
- **`Tag` is owned by two services, on purpose.** Every other model has exactly one owning
service, so the ownership rule reads as absolute — it isn't. `Tag` is a single table reached
through two `RegistryService[Tag]` facades, `TagRegistry` (documents) and `PersonTagRegistry`
(people), which count usage through `DocumentTag` and `PersonTag` respectively. Changing tag
semantics through one facade silently changes the other. Consolidating them under one service
is not a cleanup; it makes the other side a cross-aggregate writer.
- **Import style:** ruff `isort` runs with `force-single-line = true`. One import per line.
- **Latent defects have ordering constraints.** Some code is unreachable only because of a
current setting or single-instance deployment. Fix it *before* the change that unblocks it,