задачи: починена смена стадии, разобраны находки ревью плагина
Команда stage была дефектна по шести пунктам, и все шесть подтверждены прогоном: не звала raw_last (переход оставлял каталог красным), не переписывала шапку беклога (индекс продолжал объявлять прежнюю стадию), шла в обход write_config, молча пропускала файлы с непересобираемой метой, ломалась на беклоге без заголовков и схлопывала полки при первом объявлении стадии. Объявление и смена разведены: объявление беклога не трогает вовсе, смена трогает состав секций только по явному --sections, а слить полки скрипт не берётся ни в одном случае. Абзац шапки размечен парой «стадия», и расхождение с конфигом стало обычным дрейфом. Отказ по недостающей строке индекса запирал запись, пережившую упразднение роадмапа: edit, close и reopen теперь заводят или пропускают строку сами. Прочее: регистр stage нормализуется при чтении; --fix снимает мёртвые теги и у неразобранных записей; move отказывает переставлять сырьё; adopt держит место сырья; docs.py bump двигает одну запись журнала за раз; tasks.py получил перечень упразднённых адресов, и гейт наконец видит собственное упразднение ROADMAP.md. Запись «Версия 3» переписана по прогону на игрушечном проекте: прежний порядок шагов был неисполним. Закрыты дыры модели стадий (пересмотр плана стройки стал сценарием, приёмка отвязана от груминга, from-review, research и adopt получили развилку по стадии, перечень осей пересчитан) и находки, старшие этой сессии: review-triage получил режим без метки, три списка проектных копий сведены к дому с проверяемыми копиями, пять пересказов правил стали помеченными копиями или ссылками, language.md перестал объявлять юрисдикцию над чужим плагином.
This commit is contained in:
@@ -702,9 +702,22 @@ def cmd_bump(args: argparse.Namespace) -> int:
|
||||
if was is not None and was > LAYOUT_VERSION:
|
||||
fail(ENV, f"проект на версии {was}, скрипт знает {LAYOUT_VERSION}:"
|
||||
f" устарел плагин, обнови маркетплейс")
|
||||
conf.set_version(root, LAYOUT_VERSION)
|
||||
# Двигается **одна** запись за раз, а не сразу до текущей: число объявляет
|
||||
# пройденными шаги журнала, и прыжок через запись объявил бы пройденным то,
|
||||
# чего никто не делал. Отставшему на три записи проекту `bump` зовётся три
|
||||
# раза — по разу на запись, следом за её шагами.
|
||||
#
|
||||
# Версии нет вовсе — случай другой: проект не жил ни одной записью журнала,
|
||||
# его раскладку только что вывели сегодняшним форматом (`adopt`), и
|
||||
# объявлять ему нечего, кроме текущего числа.
|
||||
target = LAYOUT_VERSION if was is None else was + 1
|
||||
conf.set_version(root, target)
|
||||
print(f"версия раскладки: {was if was is not None else 'не была объявлена'}"
|
||||
f" → {LAYOUT_VERSION} в {CONFIG}")
|
||||
f" → {target} в {CONFIG}")
|
||||
if target < LAYOUT_VERSION:
|
||||
print(f" до текущей ({LAYOUT_VERSION}) осталось записей журнала:"
|
||||
f" {LAYOUT_VERSION - target}. Пройди шаги следующей и позови bump"
|
||||
f" снова — по разу на запись")
|
||||
return OK
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user