переезд: запись журнала не знала про собственные чтения конфига
Первый живой прогон на transcriber. Проект читал docs/.docs.json своим шагом гейта — и по хорошей причине, названной там же в комментарии: чтобы не заводить каталогу миграций второй дом. Запись 1 такого шага не предусматривала, и переезд уронил гейт на шаге, к плагину отношения не имеющем. Появился шаг 7: найти grep-ом свои чтения служебного файла и перевести их на tomllib. Заодно: заключительный абзац openspec.py после вычитки ревью стал утверждать, что документов канона в проекте нет, — печатается-то он всегда. Вернулось условие.
This commit is contained in:
@@ -289,8 +289,8 @@ def report(rep: Report) -> int:
|
|||||||
"документов проекта и ключи rules против артефактов схемы. Чего она не\n"
|
"документов проекта и ключи rules против артефактов схемы. Чего она не\n"
|
||||||
"видит — **пересказ вместо ссылки**: утверждение, которое можно\n"
|
"видит — **пересказ вместо ссылки**: утверждение, которое можно\n"
|
||||||
"опровергнуть, открыв другой файл проекта, от строки «открой такой-то\n"
|
"опровергнуть, открыв другой файл проекта, от строки «открой такой-то\n"
|
||||||
"файл» она не отличает. Это суждение агента `doc-consistency`; документов\n"
|
"файл» она не отличает. Это суждение агента `doc-consistency`. Если\n"
|
||||||
"канона в проекте нет — сверять пересказ не с чем, и так и скажи."
|
"документов канона в проекте нет, сверять пересказ не с чем — так и скажи."
|
||||||
)
|
)
|
||||||
if rep.errors:
|
if rep.errors:
|
||||||
print(f"\nИтог: дрейф, {len(rep.errors)} пунктов.")
|
print(f"\nИтог: дрейф, {len(rep.errors)} пунктов.")
|
||||||
|
|||||||
@@ -74,9 +74,16 @@
|
|||||||
6. **Поправить свои вызовы скиллов** — в `CLAUDE.md`, в `Taskfile`, в записях
|
6. **Поправить свои вызовы скиллов** — в `CLAUDE.md`, в `Taskfile`, в записях
|
||||||
задач: короткое имя разрешится в проектную копию, а прежнее полное не
|
задач: короткое имя разрешится в проектную копию, а прежнее полное не
|
||||||
разрешится вовсе.
|
разрешится вовсе.
|
||||||
7. **Поднять версию** — `docs.py bump`. Последним шагом: число объявляет
|
7. **Найти, где проект читает служебный файл сам.** Шаг гейта, скрипт, шаблон —
|
||||||
|
что угодно, что брало значение из `docs/.docs.json`, чтобы не заводить факту
|
||||||
|
второй дом. Такое чтение переезжает на `.av-dev.toml` и на `tomllib` вместо
|
||||||
|
`json`: `python3 -c 'import tomllib; print(tomllib.load(open(".av-dev.toml","rb"))["docs"]["migrations"])'`.
|
||||||
|
Ищется командой `grep -rn "\.docs\.json\|\.tasks\.json" --exclude-dir=.git .`
|
||||||
|
— по проекту целиком, а не по документам: на первом же живом переезде это
|
||||||
|
нашлось в `Taskfile.yml`, и нашёл это гейт, а не человек.
|
||||||
|
8. **Поднять версию** — `docs.py bump`. Последним шагом: число объявляет
|
||||||
пройденными шаги журнала, и раньше времени поднятое врёт.
|
пройденными шаги журнала, и раньше времени поднятое врёт.
|
||||||
8. `docs.py check` и `tasks.py check --dir <каталог задач>` — до отсутствия
|
9. `docs.py check` и `tasks.py check --dir <каталог задач>` — до отсутствия
|
||||||
дрейфа.
|
дрейфа.
|
||||||
|
|
||||||
**Чего делать не надо.** Переписывать прошлые записи журналов под новые имена.
|
**Чего делать не надо.** Переписывать прошлые записи журналов под новые имена.
|
||||||
|
|||||||
Reference in New Issue
Block a user