diff --git a/AGENTS.md b/AGENTS.md
index 8c18b1e..01daecd 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -24,66 +24,40 @@
## Правила кода
-### Svelte 5: типизация props через `interface Props`
+Синтаксические ограничения описывать не нужно — они проверяются линтером
+(весь список правил и токены-префиксы в `web/eslint-plugins/README.md`,
+прогон: `pnpm --dir web lint` / `pnpm --dir web lint:all`). Здесь — только то,
+что линтер не умеет.
-Все типизированные пропсы компонентов описываются через локальный
-`interface Props`, а деструктуризация идёт через аннотацию типа при `$props()`:
+### Svelte 5
-```svelte
-
-```
+Новая константа или тип не заводится, пока не произведён поиск существующего
+определения (по ключу в соседних модулях и по всему `web/src/`). Это правило
+в первую очередь для ИИ-агентов: дублирующее определение ухудшает правки в
+нескольких местах и запутывает. (Синтаксис самих определений — под линтером:
+строка `conventions/no-string-union-alias` и т.д.)
-Не использовать инлайн-дженерик `$props<{ ... }>()` — он тяжело читается и
-разносит тип и деструктуризацию по разным местам. Также **не использовать
-инлайн-импорты в типах** (`children?: import('svelte').Snippet;`) — все
-`import type` поднимаются наверх файла.
+### Дизайн
-> Правило «всегда `interface Props` + `let {...}: Props = $props()`» стандартным
-> ESLint-правилом не покрывается — остаётся конвенцией.
-
-### Дизайн: новый визуальный язык
-
-Описание дизайна — в `docs/plan-redesign.md`. Общие правила:
+Описание нового визуального языка — в `docs/plan-redesign.md`. Общие правила,
+которые линтер не проверяет:
- Новый дизайн живёт в `web/src/app.css` (корневые маршруты), старый — в
`web/src/app_v1.css` (маршруты `/v1/*`).
- Все повторяющиеся визуальные элементы — отдельные компоненты в
`web/src/lib/components/`, даже «просто div с двумя стилями».
-
-### Линтинг дизайн-токенов
-
-Запрещено «захардкоживать» дизайн: цвета, размеры, длительности и z-index
-обязаны приходить из CSS-переменных. Прогон: `pnpm --dir web lint:all`.
-
-- **Цвета**: только `hct(...)` в `app.css`, seed-токены
- (`--brand-main`/`--brand-alt`) и `color-mix(...)` — исключения.
- `oklch()/rgb()/#hex` в `--color-*` запрещены.
-- **Размеры**: `--space-*`, `--text-*`, `--radius-*`, `--size-*`.
-- **Breakpoints**: `@custom-media --bp-*` (объявления в `app.css`, используются
- как `@media (--bp-*)`).
-- **z-index**: `--z-*`; **длительности**: `--duration-*`, `--ease-*`.
-- В `