* 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>
3.5 KiB
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_actionparametrize без 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'ом.