opencode-config/docs/handoff/pr-204-remove-docs-phase.md
Sergey 9dd462b764
refactor(pipeline): remove DOCS phase from pipeline-status (#208)
* test(pipeline): remove adr and project-map test files

* refactor(pipeline): remove DOCS phase from pipeline-status

* test(pipeline): update tests for 6-phase pipeline

* docs(handoff): add handoff and ADR for remove-docs-phase

* docs(handoff): set PR number

* fix(pipeline): parse PR body via json.loads in check_implement

---------

Co-authored-by: opencode-agent <agent@opencode.local>
2026-08-01 03:48:41 +03:00

3.5 KiB
Raw Permalink Blame History


pr: 208 title: refactor(pipeline): remove DOCS phase from pipeline-status

Что сделано

Убрал DOCS phase из pipeline-status.py — пайплайн сократился с 7 до 6 фаз: ISSUE → IMPLEMENT → CI → REVIEW → MERGE → MEMORY.

Изменения в .opencode/scripts/pipeline-status.py:

  • PHASE_NAMES: 7 → 6 фаз (убран "DOCS").
  • check_implement: вместо проверки handoff-файла в diff теперь проверяет PR body на наличие 4 heading'ов (## Что сделано, ## Почему, ## Watch out, ## Pending) через gh pr view N --json body.
  • Удалены функции check_docs, _check_docs_reviewer_comment, check_adr, check_project_map.
  • Удалены dead-константы HANDOFF_DIR, ADR_DIR, PROJECT_MAP_DIR, REQUIRED_SECTIONS, DOCS_REVIEW_RE (MEMORY-константы оставлены).
  • run_all_checks: 7 → 6 вызовов (убран check_docs).
  • NEXT_ACTIONS: 7 → 6 записей (убран "DOCS").
  • Module docstring: 7 → 6 фаз, убрано DOCS описание.

Изменения в тестах:

  • tests/test_pipeline_status.py: удалён # ── check_docs ── блок (~10 тестов), удалены хелперы make_handoff/make_project_map, обновлены check_implement тесты (handoff в diff → PR body с 4 heading'ами), format/zip тесты 7→6 элементов, test_get_next_action parametrize без DOCS row, find_current_phase тесты 7→6.
  • tests/test_pipeline_status_adr.py: удалён целиком.
  • tests/test_pipeline_status_project_map.py: удалён целиком.
  • tests/test_pipeline_status_next_actions.py: удалён test_next_action_docs_subagent_template_b, DISPATCH_PHASES без "DOCS", test_next_action_pr_number_substitution без ("DOCS", 999).

Почему

DOCS phase дублировал работу issue + PR body + reviewer. Handoff-файл в diff как gate IMPLEMENT phase — хрупкий: требует handoff в diff даже когда PR body уже содержит структуру. Замена на PR body heading check делает gate самодостаточным (PR body = single source of truth для структуры) и убирает целую фазу (DOCS), которая требовала отдельного docs-reviewer subagent'а. 4 heading'а enforc'ит create-pr.ts (issue #203), так что контракт уже гарантирован на уровне tool'а.

Pending

— Обновление run-pipeline/SKILL.md (Template B удаление) — отдельный issue. — Обновление agent prompts (reviewer.md, memory-syncer.md) — отдельный issue. — Удаление docs-reviewer.md, post-docs-review.ts, scaffold-handoff.sh — отдельный issue. — Удаление check-adr-refs.py, adr-check.yml — отдельный issue.

Watch out

MEMORY phase остаётся (6-я фаза) — check_memory, get_memory_file_path, MEMORY_DIR не тронуты. REVIEW_VERDICT_RE оставлен (используется check_review). Существующие docs/handoff/, docs/decisions/ файлы НЕ удаляем — исторический архив. ADR для этого PR всё ещё создан (scaffold-handoff.sh работает), но больше не является pipeline gate'ом.