след сверки: ключ переехал в секцию docs, конфиг больше не отвергается

Ключ [healthcheck] last, заведённый вчера темой 78, роняли оба скрипта
плагина: верхний уровень .av-dev.toml стережёт TOP_KEYS в shared/config.py,
и неизвестный ключ там — отказ кодом 3. Первый же прогон сверки сделал бы
нерабочими canon check/adopt/upgrade, весь task-track и гейт проекта.

След живёт теперь ключом healthcheck_last в секции [docs] — по смыслу
(настройки проверок документов) и по цене (правка одной константы DOCS_KEYS
в docs.py, общий читатель не тронут). Воспроизведено до и после: docs.py и
tasks.py конфиг с ключом принимают.

Корень был не в описке, а в ложном обещании канона «неизвестный ключ docs.py
игнорирует» — оно старше темы 78, и на него опёрлись, не открыв скрипт.
Обещание снято, на его месте правило: новый ключ заводится правкой константы
скрипта-владельца, и только потом попадает в канон.

Журнал — тема 79.
This commit is contained in:
av
2026-08-23 19:35:17 +03:00
parent a4bc9191e7
commit 8145b378b2
6 changed files with 105 additions and 15 deletions
+9 -1
View File
@@ -296,7 +296,15 @@ def read_config(root: Path, rep: Report) -> dict:
# Ключи секции `[docs]`. Секцию знает этот скрипт, а не общий читатель: ключ
# заводится вместе с проверкой, которая его читает.
DOCS_KEYS = ("migrations",)
#
# `healthcheck_last` — коммит прошлой сверки документов; пишет его скилл
# `av-dev:doc-healthcheck`, читает `av-dev:doc-sync`, чтобы сосчитать задачи с
# тех пор. Здесь он стоит **только чтобы файл не отвергли**: неизвестный ключ —
# отказ кодом 3, то есть ключ, заведённый скиллом мимо этой константы, сделал бы
# нерабочими и `docs.py`, и `tasks.py`, и гейт проекта, который их зовёт.
# Проверки, читающей его, у скрипта нет и не предполагается: значение — след
# работы человека, а не настройка.
DOCS_KEYS = ("migrations", "healthcheck_last")
def docs_cfg(cfg: dict) -> dict: