Date: 2026-03-12 Author: Coordinator (AI) Status: 🔵 HL — Awaiting review
Executor agents (especially low-cost models) self-review their own work — writing REVIEW files without being asked. This defeats the entire purpose of review as a quality gate. The root cause is structural: TFW v3 doesn’t treat review as a first-class role-locked activity.
“Review must be a separate act by a separate agent. Self-review is not review.”
| # | Problem | Location | Impact |
|---|---|---|---|
| P1 | handoff.md combines executor (Phases 1-3) and reviewer (Phase 4) in one file |
.tfw/workflows/handoff.md |
Executor reads the whole file, sees review instructions, and continues into Phase 4 |
| P2 | Role Lock table says “REVIEW files can be written by any role” | .tfw/conventions.md §15 |
Explicitly permits executor self-review |
| P3 | No Reviewer role exists | .tfw/glossary.md §Roles |
Review is a “phase” of Coordinator, not a distinct identity |
| P4 | No dedicated /tfw-review workflow |
.agent/workflows/ |
No clear entry point for “I want to review an RF” |
| P5 | Phase 4 of handoff.md says “coordinator (original architect or user)” |
.tfw/workflows/handoff.md L101 |
Ambiguous — who exactly reviews? |
| # | Good aspect | Why keep it |
|---|---|---|
| G1 | REVIEW template is solid | 9-point checklist, verdict system, tech debt collection all work |
| G2 | Tech debt pipeline works | Observations → REVIEW triage → TECH_DEBT.md is proven |
| G3 | Status flow has 🔍 REV |
The status exists, just needs enforcement |
| G4 | Role Lock concept is sound | Just needs correct application to review |
handoff.md → see Phase 4 → no barrier says “stop here, you’re the executor”/tfw-review command, no “start a new session for review”| # | Change | From → To |
|---|---|---|
| C1 | Add Reviewer role | 3 roles → 4 roles (User, Coordinator, Executor, Reviewer) |
| C2 | Extract Phase 4 into /tfw-review workflow |
Embedded in handoff → standalone workflow |
| C3 | Remove Phase 4 from handoff.md |
4 phases → 3 phases (executor STOPS after RF) |
| C4 | Fix Role Lock table | “REVIEW by any role” → “REVIEW by Reviewer only” |
| C5 | Add explicit STOP instruction at end of handoff.md |
Implicit → explicit “DO NOT REVIEW” |
| C6 | New .agent/workflows/tfw-review.md |
Doesn’t exist → adapter workflow |
The Reviewer is a coordinator acting in review mode. Not a fundamentally new identity — it’s the coordinator with a locked scope:
This distinction matters because:
Current handoff.md:
Phase 1: ONB (executor)
Phase 2: Execute (executor)
Phase 3: RF (executor)
Phase 4: Review (coordinator) ← REMOVE FROM HERE
After:
Phase 1: ONB (executor)
Phase 2: Execute (executor)
Phase 3: RF (executor)
🛑 STOP — executor's job is done. Start /tfw-review.
Extract review into its own workflow and update all role/convention files:
.tfw/workflows/review.md — canonical review workflow.agent/workflows/tfw-review.md — adapter copy.tfw/workflows/handoff.md — remove Phase 4, add STOP.agent/workflows/tfw-handoff.md — adapter sync (same edits as #3).tfw/conventions.md — fix Role Lock table, §8 Workflows table, §14 anti-patterns.tfw/glossary.md — add Reviewer role, update Workflow definition, update CoordinatorAGENTS.md — add review workflow to the list.tfw/CHANGELOG.md — add to [Unreleased]Scope check: 2 NEW + 6 MODIFY = 8 files. Exceeds budget by 1 — acceptable because 2 of the modifications are adapter copies (byte-identical).
Update all secondary references across docs:
.tfw/README.md — L77 directory tree, L168 workflows table, L281 evolution.tfw/workflows/plan.md — L76 mention /tfw-review after /tfw-handoff.tfw/workflows/resume.md — L83 note review step after handoff.tfw/init.md — L97, L184, L192 workflow lists.tfw/adapters/antigravity/README.md — L21, L39, L51 adapter setup instructionsScope check: 0 NEW + 5 MODIFY = 5 files. Within budget.
.tfw/workflows/review.md exists with Role Lock: Reviewer, 9-point checklist, tech debt pipeline, trace updates.agent/workflows/tfw-review.md is byte-identical copy of .tfw/workflows/review.md (with YAML frontmatter)handoff.md Phase 4 removed; executor STOP instruction present at end.agent/workflows/tfw-handoff.md updated to match canonical handoff.mdconventions.md §15 Role Lock table updated: Reviewer role added, “any role” removedglossary.md has Reviewer role definition, Coordinator duties updatedAGENTS.md lists review.md workflowCHANGELOG.md has review workflow entry in [Unreleased].tfw/README.md directory tree, workflows table, and evolution section updatedplan.md, resume.md, init.md reference /tfw-review🔍 REV remains as-is)handoff.md/tfw-review slash command available.tfw/ still says “Executor + Coordinator” for handoff roleCHANGELOG.md doesn’t mention the new workflowOn failure: re-examine the extraction boundary. Check if executor models still see review content.
| Dependency | Status |
|---|---|
| All prior tasks complete | ✅ (TFW-1 through TFW-7 DONE) |
| REVIEW template stable | ✅ (no changes needed) |
| Risk | Probability | Impact | Mitigation |
|---|---|---|---|
| Existing adapters (Claude Code, Cursor) don’t get the new workflow | Low | Medium | Add to scope — but only Antigravity adapter is maintained here; others are templates |
User forgets to run /tfw-review after /tfw-handoff |
Medium | Low | Add reminder in the STOP instruction of handoff.md |
| Over-engineering the Reviewer role | Low | Medium | Keep it simple: Reviewer = Coordinator with locked scope, not a new persona |
| *HL — TFW-8: Reviewer Role and Workflow | 2026-03-12* |