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

55 lines
No EOL
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
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'ом.