Follow-ups from #91 #94

Open
opened 2026-10-24 09:06:06 +03:00 by aep · 4 comments
Owner

Отложенные находки модуля wiki (PR #92). Источник — ревью задач (T) и финальное ревью (M), подробности в архиве openspec/changes/archive/2026-10-24-wiki-module/design.md.

Главное

  • M-7 — замерить переиндексацию FTS под BEGIN IMMEDIATE на живой синхронизации (финальное ревью).
  • T8.3 — failed + command_retry даёт второй живой wiki_sync; отказ в check_batch при активной синхронизации (ревью Task 8).
  • T9.4 — /wiki/attachments/{id} не привязан к проекту сессии MCP (ревью Task 9).
  • T10.8 — ручной просмотр страницы «Вики»: светлая/тёмная тема, 390 px (ревью Task 10).

Ядро и агенты

  • T1.4 — agent_view неизвестного агента → TypeError (Task 1).
  • T1.5 — agent_keys неизвестного модуля молча отдаёт ключи ядра (Task 1).
  • T2.1 — права существующих каталогов release/<модуль> чинятся только при старте (Task 2).
  • T2.2 — хвосты agent.py.prev в корне release/ (Task 2).
  • T2.3 — нет тестов rate_limited_24h и модуля без команд (Task 2).
  • T2.4 — migrate_layout удаляет корневой файл без сверки при существующем приёмнике (Task 2).
  • T3.5 — две точки вставки jira_project (Task 3).
  • T3.6 — test_migrate_v6_idempotent проверяет только ранний выход (Task 3).
  • агент publish: OSError в migrate_layout не обёрнут (re-review финальной волны).

Веб

  • T4.1 — int-поле без Number.isInteger (Task 4).
  • T4.2 — setExtra не функциональной формой (Task 4).
  • T4.4 — нет тестов useUpdateProject и показа 422 (Task 4).
  • T4.5 — FIELDS вычисляется при импорте (Task 4).
  • T10.1 — role=status вставляется вместе с текстом (Task 10).
  • T10.2 — нет aria-setsize/posinset, раскрытие теряется после поиска (Task 10).
  • T10.3 — порядок заголовков h2/h1 (Task 10).
  • T10.4 — два потребителя useWikiStatus (Task 10).
  • T10.5 — fmtStamp из модуля jira (Task 10).
  • T10.6 — selectedKnown не проверяет предков (Task 10).
  • T10.7 — неточный комментарий Tree.tsx:15-17 (Task 10).

Перевод HTML и синхронизация

  • T6.1 — вложенный span между a и img (Task 6).
  • T6.2 — вложение внутри ссылки на страницу (Task 6).
  • T6.3 — дубликаты ref, побеждает последний (Task 6).
  • T6.4 — пробелы и скобки во внешних href (Task 6).
  • T6.5 — хвостовой \ в тексте ссылки (Task 6).
  • T7.1 — index.md 0644; симлинк вместо .new (Task 7).
  • T7.2 — пробелы тестов синхронизации (Task 7).
  • T7.3 — housekeeping json_extract на каждый тик (Task 7).
  • T7.4 — _drop_copy удаляет .new* идущей подготовки (Task 7).
  • T7.5 — _PENDING с жадным regex для меток на .new/.old (Task 7).
  • T7.6 — ожидание label-lock без таймаута (Task 7).
  • T7.7 — .new. с _tree.json без транзакции продвигается при старте (Task 7).
  • T7.8 — падение COMMIT после swap: файлы новые, строки старые (Task 7).
  • stage._clean: докстринг про U+FFFD, код ставит «?» (re-review финальной волны).

Маршруты и MCP

  • T8.1 — h_sync с не-строкой в project → 500 вместо 422 (Task 8).
  • T8.2 — вложение ready при пропавшем файле застревает (Task 8).
  • T8.4 — нет запасного filename= (Task 8).
  • T8.5 — files.read грузит файл целиком (Task 8).
  • T8.6 — кратковременный 404 страницы при подмене каталога (Task 8).
  • T8.7 — _walk_order сверяет длину, а не множества (Task 8).
  • T8.8 — пробелы тестов маршрутов (Task 8).
  • T8.9 — request_fetch минует create_batch без комментария (Task 8).
  • T9.1 — лишний GET /projects (Task 9).
  • T9.2 — next() без default (Task 9).
  • T9.3 — переводы строк в title/path/name/snippet подделывают шапку (Task 9).
  • T9.6 — пробелы тестов MCP (Task 9).
  • T9.7 — неточный текст «подходит несколько страниц» (Task 9).
  • tests/test_wiki_mcp.py::test_sync_wait — лишний отступ (re-review финальной волны).

Документация и прочее

  • T11.4 — в таблице ARCHITECTURE у api не указаны sync/paths (Task 11).
  • T1.7 — решить, добавлять ли ruff в make check (Task 1).
  • O-1 — зависание pytest у исполнителя Task 4, не воспроизвелось (наблюдение).
Отложенные находки модуля wiki (PR #92). Источник — ревью задач (T) и финальное ревью (M), подробности в архиве `openspec/changes/archive/2026-10-24-wiki-module/design.md`. **Главное** - M-7 — замерить переиндексацию FTS под BEGIN IMMEDIATE на живой синхронизации (финальное ревью). - T8.3 — failed + command_retry даёт второй живой wiki_sync; отказ в check_batch при активной синхронизации (ревью Task 8). - T9.4 — `/wiki/attachments/{id}` не привязан к проекту сессии MCP (ревью Task 9). - T10.8 — ручной просмотр страницы «Вики»: светлая/тёмная тема, 390 px (ревью Task 10). **Ядро и агенты** - T1.4 — agent_view неизвестного агента → TypeError (Task 1). - T1.5 — agent_keys неизвестного модуля молча отдаёт ключи ядра (Task 1). - T2.1 — права существующих каталогов release/<модуль> чинятся только при старте (Task 2). - T2.2 — хвосты agent.py.prev в корне release/ (Task 2). - T2.3 — нет тестов rate_limited_24h и модуля без команд (Task 2). - T2.4 — migrate_layout удаляет корневой файл без сверки при существующем приёмнике (Task 2). - T3.5 — две точки вставки jira_project (Task 3). - T3.6 — test_migrate_v6_idempotent проверяет только ранний выход (Task 3). - агент publish: OSError в migrate_layout не обёрнут (re-review финальной волны). **Веб** - T4.1 — int-поле без Number.isInteger (Task 4). - T4.2 — setExtra не функциональной формой (Task 4). - T4.4 — нет тестов useUpdateProject и показа 422 (Task 4). - T4.5 — FIELDS вычисляется при импорте (Task 4). - T10.1 — role=status вставляется вместе с текстом (Task 10). - T10.2 — нет aria-setsize/posinset, раскрытие теряется после поиска (Task 10). - T10.3 — порядок заголовков h2/h1 (Task 10). - T10.4 — два потребителя useWikiStatus (Task 10). - T10.5 — fmtStamp из модуля jira (Task 10). - T10.6 — selectedKnown не проверяет предков (Task 10). - T10.7 — неточный комментарий Tree.tsx:15-17 (Task 10). **Перевод HTML и синхронизация** - T6.1 — вложенный span между a и img (Task 6). - T6.2 — вложение внутри ссылки на страницу (Task 6). - T6.3 — дубликаты ref, побеждает последний (Task 6). - T6.4 — пробелы и скобки во внешних href (Task 6). - T6.5 — хвостовой `\` в тексте ссылки (Task 6). - T7.1 — index.md 0644; симлинк вместо .new (Task 7). - T7.2 — пробелы тестов синхронизации (Task 7). - T7.3 — housekeeping json_extract на каждый тик (Task 7). - T7.4 — _drop_copy удаляет .new* идущей подготовки (Task 7). - T7.5 — _PENDING с жадным regex для меток на .new/.old (Task 7). - T7.6 — ожидание label-lock без таймаута (Task 7). - T7.7 — .new.<id> с _tree.json без транзакции продвигается при старте (Task 7). - T7.8 — падение COMMIT после swap: файлы новые, строки старые (Task 7). - stage._clean: докстринг про U+FFFD, код ставит «?» (re-review финальной волны). **Маршруты и MCP** - T8.1 — h_sync с не-строкой в project → 500 вместо 422 (Task 8). - T8.2 — вложение ready при пропавшем файле застревает (Task 8). - T8.4 — нет запасного filename= (Task 8). - T8.5 — files.read грузит файл целиком (Task 8). - T8.6 — кратковременный 404 страницы при подмене каталога (Task 8). - T8.7 — _walk_order сверяет длину, а не множества (Task 8). - T8.8 — пробелы тестов маршрутов (Task 8). - T8.9 — request_fetch минует create_batch без комментария (Task 8). - T9.1 — лишний GET /projects (Task 9). - T9.2 — next() без default (Task 9). - T9.3 — переводы строк в title/path/name/snippet подделывают шапку (Task 9). - T9.6 — пробелы тестов MCP (Task 9). - T9.7 — неточный текст «подходит несколько страниц» (Task 9). - tests/test_wiki_mcp.py::test_sync_wait — лишний отступ (re-review финальной волны). **Документация и прочее** - T11.4 — в таблице ARCHITECTURE у api не указаны sync/paths (Task 11). - T1.7 — решить, добавлять ли ruff в make check (Task 1). - O-1 — зависание pytest у исполнителя Task 4, не воспроизвелось (наблюдение).
Author
Owner

PR #100 (#98): T4.1, T4.2, T4.4, T4.5 — 15626aa; T10.1 — bc36711; T10.2, T10.3 — 46a1857; T10.4 — 112720a (боковая панель больше не читает /wiki/status); T10.5 — 5061d9a (форматтеры дат в ядре); T10.6, T10.7 — f116be4. T10.8 (ручной просмотр «Вики») — частично аудитом 24.10.2026, остаётся открытым; T9.1 и остальные разделы — открыты.

PR #100 (#98): T4.1, T4.2, T4.4, T4.5 — 15626aa; T10.1 — bc36711; T10.2, T10.3 — 46a1857; T10.4 — 112720a (боковая панель больше не читает /wiki/status); T10.5 — 5061d9a (форматтеры дат в ядре); T10.6, T10.7 — f116be4. T10.8 (ручной просмотр «Вики») — частично аудитом 24.10.2026, остаётся открытым; T9.1 и остальные разделы — открыты.
Author
Owner

Сверка 25.10.2026: закрытые в PR #100 (T4.1, T4.2, T4.4, T4.5, T10.1–T10.7) подтверждены кодом. Сняты: T2.1 (core/release.py:110 чинит права при publish), T1.7 (ruff — решение владельца), «agent publish: OSError в migrate_layout» (обёрнут; остаток — core/cli.py:47,49 вне try), O-1. T1.5 — rejected (поведение задекларировано докстрингом).

Остаются: M-7, T8.3, T9.4, T10.8, T6.1–T6.5, T7.1–T7.8, T8.1–T8.9, T9.1–T9.7, T1.4, T2.2–T2.4, T3.5, T3.6, stage._clean, test_sync_wait, T11.4.

Сверка 25.10.2026: закрытые в PR #100 (T4.1, T4.2, T4.4, T4.5, T10.1–T10.7) подтверждены кодом. Сняты: T2.1 (`core/release.py:110` чинит права при publish), T1.7 (ruff — решение владельца), «agent publish: OSError в migrate_layout» (обёрнут; остаток — `core/cli.py:47,49` вне try), O-1. T1.5 — rejected (поведение задекларировано докстрингом). Остаются: M-7, T8.3, T9.4, T10.8, T6.1–T6.5, T7.1–T7.8, T8.1–T8.9, T9.1–T9.7, T1.4, T2.2–T2.4, T3.5, T3.6, stage._clean, test_sync_wait, T11.4.
Author
Owner

PR #130 (merge 6f2cf1a), архив #131: закрыт T8.1 — f1dae5a (POST /wiki/sync с project не строкой — 422 bad_request). Остальные маркеры открыты — issue остаётся открытой.

PR #130 (merge 6f2cf1a), архив #131: закрыт **T8.1** — f1dae5a (POST /wiki/sync с project не строкой — 422 bad_request). Остальные маркеры открыты — issue остаётся открытой.
Author
Owner

PR #136 (merge a6b04a3), архив #137: закрыты T6.1, T6.2, T6.3, T6.4, T6.5 (6cc4b9a, 90b03ed), T8.3 (39821b8), T8.2 (52db644), T9.3 (829d4cb). Остальные маркеры открыты — issue остаётся открытой.

PR #136 (merge a6b04a3), архив #137: закрыты **T6.1, T6.2, T6.3, T6.4, T6.5** (6cc4b9a, 90b03ed), **T8.3** (39821b8), **T8.2** (52db644), **T9.3** (829d4cb). Остальные маркеры открыты — issue остаётся открытой.
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: aep/sdlc-hub#94
No description provided.