Files
wiki/tasks/orchestrator/DOCS_AUDIT_2026-06-02.md
2026-06-02 21:00:01 +03:00

7.0 KiB
Raw Blame History

Аудит документации оркестратора — 2026-06-02

Проверка всех доков orchestrator/docs/ + README.md + агентских промптов на старьё и неактуальность.

Сводка

Документ Дата Статус Вердикт
README.md ⚠️ Частично устарел Правка (QG-таблица врёт)
docs/ARCHITECTURE.md 31.05 ⚠️ Частично устарел Правка (QG, docker-запись)
docs/BACKLOG_PIPELINE.md 23.05 Актуален Оставить (открытые вопросы валидны)
docs/BUGFIXES_2026-05-21.md 22.05 Исторический Оставить как есть (лог)
docs/LESSONS_ET006.md 22.05 🔴 Критично актуален Баг P1 НЕ починен — эскалировать
docs/SETUP_WEBHOOKS.md 21.05 Актуален Оставить (инструкция рабочая)

🔴 Главная находка: P1 zombie из ET-006 жив до сих пор

LESSONS_ET006.md (22 мая) раздел P1. Zombie processes:

Monitor threads умирают при docker compose up --build, agent процессы остаются zombie. Daemon threads в Python не переживают restart, child processes (claude.exe) наследуются init.

Это ТОЧНО тот же баг B-2 из моего аудита 02.06. Предложены 3 решения (A: safe.directory, B: orphan recovery, C: tini). Применены только частично:

  • Решение B (orphan recovery) — есть в main.py, но грубый (M-1)
  • tini — есть в compose (tini -s -- node... но это для node, не для orchestrator-контейнера; проверить)
  • 🔴 Корневой PIPE-deadlock + daemon-поток — НЕ устранён

Вывод: lessons-док зафиксировал баг 11 дней назад, но фикс не довели. Урок не выучен → повторился на ET-008 и ET-009. Это системная проблема: lessons пишутся, но не конвертируются в задачи.

Аналогично:

  • P2 stale reviews — workaround «ручной re-approve», корня (отключить dismiss_stale_approvals) не сделали → ручник повторяется.
  • P3 Plane sync 404 — помечен LOW, до сих пор сломан (в моём аудите M-6).
  • P6 tester timeout — actual на ET-009 (collector 25 мин).

Постраничный разбор

README.md — ⚠️ правка

Устарело:

  • Таблица «Стадии пайплайна»: development | developer | CI green — на деле CI в Gitea нет, QG не отрабатывает. После фикса S-1 будет local tests.
  • review | reviewer | PR approved (no stale) — но код использует check_reviewer_verdict (файловый), не check_review_approved (PR-based). Расхождение код↔док.
  • Структура src/ описана верно.

Действие: входит в Task 8 Dev-ТЗ (Dev обновит QG-таблицу).

docs/ARCHITECTURE.md — ⚠️ правка

Устарело:

  • Таблица QG: check_review_approved для review — но в stages.py стоит check_reviewer_verdict. Док отстал от кода.
  • Не упоминает, что .task пишется через docker (и что это сломано).
  • Описывает «идеальный» автономный pipeline, который из-за B-1/B-2 не работает.

Действие: Dev обновляет в Task 8. Добавить раздел «Известные ограничения».

docs/BACKLOG_PIPELINE.md — актуален

BL-001 (аудит вне work item) и BL-002 (управление бэклогом) — открытые архитектурные вопросы, всё ещё валидны. BL-002 даже отмечает «Plane sync сломан» — подтверждает M-6. Действие: оставить. Можно добавить отметку, что Plane sync — кандидат на фикс.

docs/BUGFIXES_2026-05-21.md — исторический лог

5 багов ET-005, все помечены исправленными. Это лог-запись, трогать не надо. Полезен как история. Действие: оставить как есть.

docs/LESSONS_ET006.md — 🔴 критично актуален

См. выше. Документ ОТЛИЧНЫЙ по содержанию, но его выводы не реализованы. Действие: НЕ удалять. Наоборот — использовать как доказательство, что фиксы назрели. После Dev-фиксов добавить пометку «P1 устранён в BUGFIXES_2026-06-02».

docs/SETUP_WEBHOOKS.md — актуален

Инструкция по настройке webhook'ов Gitea/Plane. URL, события, секреты — соответствуют конфигу. Рабочий референс. Действие: оставить.


Расхождения код ↔ документация (для исправления)

# Док говорит Код делает Где править
1 review QG = check_review_approved check_reviewer_verdict README, ARCHITECTURE
2 development QG = CI green CI нет, не работает README, ARCHITECTURE (после S-1)
3 .task запись (не описано) через docker (сломано) ARCHITECTURE
4 pipeline автономен ручной запуск из-за B-1/B-2 ARCHITECTURE «Известные ограничения»

Рекомендации по процессу (мета)

  1. Lessons → задачи. LESSONS_ET006 зафиксировал баги, но их не конвертировали в трекаемые задачи → повтор на ET-008/009. Завести правило: каждый P0/P1 из lessons → задача в бэклоге с дедлайном.
  2. Один changelog фиксов. BUGFIXES_2026-05-21 + будущий BUGFIXES_2026-06-02 — ок, но нужен сводный индекс «что починено / что висит».
  3. Doc-as-code QG. В идеале — тест, проверяющий что таблица QG в README совпадает с stages.py. Чтобы доки не расходились с кодом.

Аудитор: Стрим | Дата: 2026-06-02 | Связан с: AUDIT_2026-06-02.md, DEV_TASK_ORCHESTRATOR_FIXES.md