trace-first-starter

HL — TFW-15: Pipeline Formalization

Дата: 2026-04-01 Автор: Coordinator (AI) Статус: 📝 HL_DRAFT — Ожидает ревью (updated after RES)


1. Проблема

Текущий pipeline TFW имеет три связанные проблемы:

1.1 Статусы = документы

Pipeline смешивает процессные статусы с типами документов:

Статус Документ Проблема
🔵 HL HL.md Статус = документ. «🔵 HL» = мы пишем HL или HL уже готов? ❌
🟡 TS TS.md Статус = документ ❌

Конкретные проблемы:

  1. HL используется дважды: draft при написании, финальный после RESEARCH. Нет отдельного статуса.
  2. Phase 3.5 — костыль из TFW-11, потому что не было места в нумерации.

1.2 Статусы нигде не определены формально

1.3 Концепции смешаны

2. Целевое состояние

2.1 Новый pipeline (Variant D — 8 statuses)

⬜ TODO → 📝 HL_DRAFT → 🔬 RES → 🟡 TS_DRAFT → 🟠 ONB → 🟢 RF → 🔍 REV → ✅ DONE
                          (skip: 📝 HL_DRAFT ··· 🟡 TS_DRAFT)

Логика Variant D:

Ключевые переходы:

📝 HL_DRAFT → 🔬 RES → 🟡 TS_DRAFT     # research done, HL finalized
📝 HL_DRAFT ··· 🟡 TS_DRAFT              # research skipped, HL confirmed

2.2 Status Registry (PROJECT_CONFIG.yaml)

Единый реестр статусов с role field:

tfw:
  statuses:
    - id: TODO
      emoji: "⬜"
      description: "Task registered, work not started"
    - id: HL_DRAFT
      emoji: "📝"
      description: "HL being drafted or discussed"
      role: coordinator
    - id: RES
      emoji: "🔬"
      description: "Research in progress (optional)"
      role: coordinator
    - id: TS_DRAFT
      emoji: "🟡"
      description: "TS written, awaiting approval"
      role: coordinator
    - id: ONB
      emoji: "🟠"
      description: "Executor onboarding"
      role: executor
    - id: RF
      emoji: "🟢"
      description: "Execution complete, RF written"
      role: executor
    - id: REV
      emoji: "🔍"
      description: "Review in progress"
      role: reviewer
    - id: DONE
      emoji: "✅"
      description: "Task closed"
    - id: BLOCKED
      emoji: "❌"
      description: "Blocked by dependency"

Дизайн-решения (RES D4, E6):

2.3 Transition Matrix

From To Role Trigger
⬜ TODO 📝 HL_DRAFT Coordinator /tfw-plan creates HL draft
📝 HL_DRAFT 🔬 RES Coordinator User approves HL draft, research recommended
📝 HL_DRAFT 🟡 TS_DRAFT Coordinator User approves HL draft, research skipped
🔬 RES 🟡 TS_DRAFT Coordinator Research done, HL finalized, TS written
🟡 TS_DRAFT 🟠 ONB Executor /tfw-handoff starts, ONB written
🟠 ONB 🟢 RF Executor Implementation done, RF written
🟢 RF 🔍 REV Reviewer /tfw-review starts
🔍 REV ✅ DONE Reviewer APPROVE verdict
🔍 REV 🟢 RF Reviewer REVISE verdict (back to executor)
🔍 REV 🛑 User decision Reviewer REJECT verdict
* ❌ BLOCKED Any External dependency blocks progress

REJECT = branching point (RES C6, D5):

🔍 REV → ❌ REJECT → 🛑 User decides:
                        (a) → 📝 HL_DRAFT (rework HL)
                        (b) → 🔬 RES (new research)
                        (c) → 🟡 TS_DRAFT (HL fine, rewrite TS)

2.4 Concept Taxonomy (TODO — full formalization deferred)

Концепция Определение Где живёт
Document Type Тип артефакта: HL, RES, TS, ONB, RF, REVIEW glossary.md
Template Канонический формат для документа .tfw/templates/
Workflow Tool-agnostic процесс (plan, research, handoff…) .tfw/workflows/
Adapter Command Tool-specific вызов workflow (slash-command, skill) .claude/commands/, .agent/workflows/
Status Процессный статус задачи на борде PROJECT_CONFIG.yaml tfw.statuses

Document Status (DRAFT/APPROVED в header файла) — deferred (RES D7). Не в скоупе TFW-15. Файловые headers обновляются только чтобы соответствовать новым именам статусов.

2.5 Phase 3.5 → Phase 4

plan.md фазы перенумеровываются:

Step numbering fix (RES E3, D6): plan.md имеет пропуск (step 8 отсутствует). Починить in-passing.

3. Скоуп изменений

Живые файлы (нужно менять)

# Файл Действие Описание
1 .tfw/PROJECT_CONFIG.yaml MODIFY Добавить tfw.statuses registry с role field
2 .tfw/conventions.md MODIFY §5: новый pipeline, status table (HL_DRAFT/TS_DRAFT), REJECT branching
3 .tfw/glossary.md MODIFY Concept Taxonomy определения, pipeline diagram
4 .tfw/README.md MODIFY Pipeline diagram + Task Lifecycle section
5 .tfw/workflows/plan.md MODIFY Phase 3.5 → Phase 4, renumber, step numbering fix, status refs
6 .tfw/workflows/research.md MODIFY Status Transitions section
7 README.md (root) MODIFY Key Concepts pipeline string + task board legend
8 .tfw/templates/HL.md MODIFY 🔵 HL — Ожидает ревью📝 HL_DRAFT — Ожидает ревью
9 .tfw/templates/TS.md MODIFY 🟡 TS — Ожидает апрува🟡 TS_DRAFT — Ожидает апрува

Архивные файлы (НЕ меняем)

Файлы в tasks/TFW-{1..14}/ — исторические артефакты. Менять = фальсифицировать.

Файлы вне скоупа

Бюджет: 0 новых файлов, 9 модификаций.

4. Definition of Done

5. Definition of Failure

6. Зависимости

Зависимость Статус
TFW-14 (research interaction model) ✅ DONE
TFW-12 (config centralization) ✅ DONE

7. Принципы

  1. Statuses ≠ Documents — процессные статусы описывают фазу работы, не тип артефакта
  2. Single Source of Truth — статусы определены в PROJECT_CONFIG.yaml, остальные файлы ссылаются
  3. Implicit Approval — переход к следующему статусу = предыдущий этап утверждён
  4. Same count, better names — 8 статусов (проверенное количество), только имена чётче

8. Риски

Риск Вероятность Влияние Mitigation
Config раздувается Низкая Низкое statuses — фиксированный список
Agent не читает config Средняя Среднее conventions.md содержит transition matrix inline
_DRAFT suffix длинный на борде Низкая Низкое Emoji делает visual scan, текст вторичен (RES C5)

*HL — TFW-15: Pipeline Formalization 2026-04-01*