# ⚠ ИСПОЛНЕНО. Канон компаньона живёт не здесь > **Не читать как действующий документ и не править.** Этот файл был черновиком спутника спеки > (фронт-сессия S3, 04.08); с тех пор он **ратифицирован и перенесён**. Канон компаньона — > [`../../docs/architecture/14-api-contract/README.md`](../../docs/architecture/14-api-contract/README.md), > рядом с канонической спекой; там же ревью-шапка ратификации D39.99 и К-таблица. > > Баннер поставлен по указанию оркестратора №15 (08.08): два экземпляра одного состояния > расходятся при первой же правке, и расходится всегда тот, который забыли. **Один факт — > один носитель.** > > | Что нужно | Где это теперь | > |---|---| > | норматив контракта (ФОРМА) | канон `docs/architecture/14-api-contract/openapi.yaml`. ⚠ Зонное зеркало `api-contract/openapi.yaml` с фриза зоны отстаёт РАТИФИЦИРОВАННО (D39.142 п.5): нормативен только канон | > | провенанс, обоснования, К-вопросы | `docs/architecture/14-api-contract/README.md` | **Тело черновика снято 02.09** и здесь не воспроизводится. Причина не в объёме: канон несёт те же разделы под ТЕМИ ЖЕ номерами (§0 пометки провенанса · §1 почему YAML · §2.1–2.13 решения и их происхождение · §3 зависимости · §4 К-вопросы · §5 ревью-вопрос · приложение А), и с тех пор он ушёл вперёд на редакции 0.3.0…0.9.0 — то есть ссылка вида «§2.7 спутника» резолвится в каноне и отдаёт ДЕЙСТВУЮЩУЮ редакцию, а не редакцию 0.2.x. ⚠ Держать тело рядом было не просто дублем, а активной ловушкой: канон прямо объявляет прежний ответ §5 **опровергнутым исполнением** (research/28 Б-0, разбор — D39.138) и не сохраняет его даже как историю, «потому что он учил зону неправде»; §2.5 (прогресс), §2.6 (`finalizing`), §2.8 (слова банка) и §2.11 (канал потока) с тех пор пере-решены. Черновик 0.2.x отвечал бы на эти вопросы устаревшим способом молча. Исходное тело — в истории git этого файла.