Пакет C: гигиена хаба моста (bridge-hygiene, #13) #14
Loading…
x
Reference in New Issue
Block a user
No description provided.
Delete Branch "feat/13-bridge-hygiene"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Пакет C моста: мелкие исправления и гигиена хаба, change
bridge-hygiene(спека и дизайн —openspec/changes/bridge-hygiene/). Closes #13. Закрывает пункты hub#8, hub#12 и часть hub#4 (по разбору пакета D 14.10.2026). Агентская часть — aep/jira-agent PR (feat/15-bridge-hygiene).Что изменено
backups/— права 0700 (M-7 hub#4); копия базы перед миграцией и миграция — под одной блокировкой записи, копия одна (M-2 hub#12).rename_noteсливает заметки вместо удаления заметки под настоящим ключом (M-3 hub#4).errorобрезается до 1500; позднийdoneс ключом поensure_issue, ставшейfailedпо пределу выдач, сохраняет ключ и переносит заметку (M-4 hub#12); отменённый пакет показываетсяcancelled(T5.6); пустой полный прогон не помечает соседей (M-12); довыдачаrefreshобнуляет счётчики, предел выдач ставитsync_run.finished_at(M-4, M-5 hub#12).still_claimed, MCP подсказывает force-отмену (M-11 hub#12); описаниеbatch_create— про базовую меткуAWPCA(T3.7).HTTPException,work/чистится один раз на папку, тестserve --host(M-1, M-3, M-4 hub#8).sprint_names, коды ответов,page/last_page,GET /issues, автообновление, MCPrefresh,new:<строка>); Purpose во всех шести спеках (O-4 hub#8);ARCHITECTURE.md,CLAUDE.md,.wt/в.gitignore.Проверки
uv run pytest -q— 206 passed (было 169).openspec validate bridge-hygiene --strict— valid;openspec validate --specs --strict— 6 passed.Находки
connect("hub.sqlite")без каталога делал chmod 0700 на cwd8e82b31secure_dirне закрывает созданные родительские каталоги8e82b31_type_errorreport_result8e82b31doneпоfailedfinished_at/errorостаются от закрытия по пределу8e82b31finished_atне ставится для не-refreshstill_claimed8e82b31relay._cleaned— одна папка, A→B→A чистит A повторно8e82b31relay_dirи исчезновение папки8e82b31db/backup → paths8e82b31backups/не получает 0700 при каждом старте8e82b31validateпринимаетnullу любого необязательного параметра, спека — «где можно очистить»72b0914(спека приведена к коду, R-15)cancelled_at8e82b318e82b31migrateработает только вне транзакции — не документировано8e82b31epics.csvбез ключа_cleanedсравнивает пути по написаниюsecure_dirtest_vanished_tree_keeps_workcheck_confirmedсравниваетdescriptionбез нормализации CRLF (найдено ревью агента) — потерянный отчёт поensure_fieldsна тексте с\r\nзакроется довыдачей, а не подтверждением7a2f2e6,bd8c769queue.pyserve --hostзакрепляет поведение; ruff не установлен; хуки не блокировалиRulings I made
design.md(«Decisions made without discussion»): права только на каталоги; слияние заметок — побеждает непустое поле временной; статус «отменён» приcancelled_at; довыдачаrefreshне сдвигаетstarted_at; соседи только приissues_count > 0; проверка типов всех параметров; копия при миграции подBEGIN IMMEDIATEотдельным соединением-читателем;work/чистится один раз на папку;still_claimedбез MCP-инструмента отмены; расхождения спеки закрыты правкой спеки; агент v4 без подъёмаmin_agent_version.nullдопустим у любого необязательного параметра; цена:nullв необязательном параметреensure_issueравен его пропуску.body: null— пустое тело; уточнена спе��а agent.Deferred
T3.1, T3.2, T5.2, M-8 (финальное), ре-ревью minor-1…3, O-9 — в follow-up issue при закрытии. «На потом» из разбора D: M-9/O-4 (ResourceWarning), M-10 (тесты) hub#4.
🤖 Generated with Claude Code