Use the user’s current request as the workflow input. Expected context: [task or Jira ID].
Stress-test the implementation plan for the provided task. Assume the architect likely produced a basically correct plan, then look for the strongest reasons it could still fail in implementation, create expensive rework, or give false confidence. The primary deliverable is the full structured review document saved as {task-name}.plan-review.md alongside the plan in the same specifications directory.
-
Read the research file (.research.md) — understand the full set of requirements, acceptance criteria, and constraints that the plan must address.
-
Read the plan file (.plan.md) — understand the proposed architecture, phases, tasks, and definitions of done.
-
Challenge-domains pass — Before diving into general failure modes, systematically attack the plan's most consequential decisions using the challenge domains defined in the fabrico-plan-reviewer subagent. For each domain, explicitly state whether an issue was found or not. Pay special attention to technology/stack choices that deviate from research context or prior iterations — these are the highest-value challenges.
-
Failure-modes pass — Find the strongest reasons the plan may fail during implementation or cause major rework. Prioritize substantive risks such as integration mismatches, unsafe migrations, coordination traps, weak rollout strategies, and brittle task breakdowns.
-
Hidden-assumptions pass — Identify assumptions that are unproven in this repository. Flag beliefs about files, abstractions, contracts, environment behavior, team coordination, or data shape that the plan depends on but does not verify.
-
Codebase-reality pass — For every critical file, component, function, class, abstraction, or dependency the plan relies on:
- Search the codebase to verify it exists
- Read the file to verify it has the expected interface/behavior
- Flag any reference that doesn't match reality or is weaker/more constrained than the plan assumes
-
Sequencing-and-feasibility pass — Identify order-of-operations traps, risky migrations, rollback gaps, coordination issues, and test or rollout blind spots. Focus on how the plan could break when executed step by step.
-
Execution-critical decision gate — Before final verdict, explicitly check for unresolved provider, vendor, stack, framework, auth, privacy, security, integration-contract, or migration-prerequisite decisions that sit on the critical path or lock in downstream work. These cannot be waved through as harmless notes.
-
Decision-and-revision-history handling — Always build and maintain a Decision and Revision History section as a compact chronological Markdown table, ordered from oldest to newest, including on the first review iteration. On iteration 1, capture the initial plan-shaping decisions the reviewer challenged, why they matter, the current architect position, and the current status. On later iterations, read the existing .plan-review.md first and update the same table to show what changed since the prior review, whether the reviewer's concerns were resolved, and which issues remain open. Prefer appending new rows for new developments; update an existing row only when that keeps the table clearer and more maintainable. Keep entries as short summaries with phrase-length cells, not prose blocks, transcripts, or exhaustive changelogs. Explicitly classify prior high-signal issues with compact statuses such as open, changed, resolved, kept, or dropped. If an issue is downgraded or dropped, explain why briefly in the row. Do not reduce challenge intensity because one issue was fixed. The architect fixing one thing does not mean new issues should not be found.
-
Produce the report and binary verdict — Save the full failure-oriented review report with final verdict (APPROVED or REVISIONS NEEDED) as {task-name}.plan-review.md in the same specifications directory as the plan. Do not reduce the persisted artifact to a short verdict memo or manager-style synthesis.
The full structured review report is the primary deliverable. Save it as `{task-name}.plan-review.md` alongside the plan in the same `specifications` directory and structure it as follows: