Forge
markdowndeeb25a2
1# Соглашение: блок «Связанные ADR»
2
3Чтобы шапка ADR не превращалась в сплошной абзац, связи выносим в **таблицу** сразу после метаданных (`Статус`, `Дата`, `Обновлено`).
4
5## Шапка: Статус, Дата, Обновлено
6
7| Поле | Правило |
8|------|---------|
9| **Статус** | Коротко: `Accepted`, `Proposed`, `Accepted · Implemented` — **без** длинных скобок. Детали реализации → подтаблица **### Снимок реализации** (2–4 строки). |
10| **Дата** | Дата принятия ADR. |
11| **Обновлено** | **Одна** строка: дата **последней** правки + краткая фраза + ссылка `[§ История](#adrNNNN-history)`, если история не пустая. |
12| **Поглощает / Расширяется** | Оставляем в шапке (происхождение или follow-up), не в истории. |
13
14**Не** дублировать ключ `**Обновлено:**` несколько раз — хронологию переносим в **`## История изменений`** в **конце** файла (перед последним `---` или после «Отклонённые альтернативы»).
15
16```markdown
17## История изменений
18
19<a id="adr0028-history"></a>
20
21| Дата | Изменение |
22|------|-----------|
23| 2026-04-08 | … |
24```
25
26Якорь: `adr` + номер ADR без ведущих нулей в id (`adr0028-history` для ADR 0028).
27
28**Разделитель перед телом:** после блока «Связанные ADR» / «Снимок реализации» / **Резюме** ставим горизонтальную линию `---`, затем `## Контекст` (или `## Решение` / `## Проблема`, если контекста нет).
29
30**Резюме:** блок `## Резюме` сразу после «Связанные ADR» (и снимка, если есть) — **3–5 маркеров**, суть без якорей §N. **Рекомендуется** для ADR **≥120 строк**; для **≥100** — краткое резюме или stub. Короткие ADR — по желанию.
31
32**Superseded:** в шапке статус `Superseded` + ссылка на замену; после метаданных — callout `>` с указанием **0069** (или иного наследника); исторический текст ниже не переписываем.
33
34## Шаблон
35
36```markdown
37## Связанные ADR
38
39| ADR | Роль |
40|-----|------|
41| [0036](0036-cds-channel-compositor-surface-pipeline.md) | Канал → CDS → композитор → поверхность |
42| [0067](0067-graph-backed-surfaces-contract.md) | Контракт семейства graph-backed поверхностей |
43```
44
45## Правила
46
47- **Колонка «ADR»** — ссылка `[NNNN](NNNN-slug.md)` или с якорем, если нужен конкретный пункт (`#adr0065-p6`).
48- **Колонка «Роль»** — одна короткая фраза: зачем читать, чем ограничивает, что **не** путать.
49- **3+ связей** — почти всегда таблица; **1–2** — допустим маркированный список под тем же заголовком.
50- Старую строку **`**Связь:**` …** в шапке** при правке **убираем** (смысл переносим в таблицу).
51- Внешние ссылки (KB, другой репо, сайт) — отдельная строка таблицы с пометкой «вне репо» или подтаблица **Вне ADR** ниже.
52- Не дублировать оглавление [README](../README.md): в таблице только **релевантные** соседи, не полный индекс.
53
54## Связь с якорями
55
56Кросс-ссылки на пункты внутри ADR — по [adr-anchors-policy.md](adr-anchors-policy.md).
57
View only · write via MCP/CIDE