Skip to content
Pocketto
Reference

Plan structure

The execution plan format that pocketto-pi structure parses, what structuring produces from it, and the checks that fail the mandatory dry-run.

An execution plan is the handoff artifact between planning and structuring. pocketto-pi structure parses only one shape: everything else fails the mandatory dry-run.

The plan document

# EXECUTION PLAN — <feature name>

**Date:** YYYY-MM-DD
**Spec:** docs/pocket/spec/{date}-{slug}/topic.md
**Status:** draft | approved
**Total tasks:** N

## Execution Overview

### Recommended Order
T1 → T2, T3 (parallel) → T4 → T5, T6 (parallel) → T7

### Parallelizable Groups
| Group | Tasks | Unblocked After |
|-------|-------|-----------------|

### File Structure Map
Rule: <rule name>
  Create: exact/path/new-file.ext        (created by: T<N>)
  Modify: exact/path/existing.ext
  Test:   tests/exact/path/test.ext

## Pocket Packets

### Task 1: <name> [prereq]
## OBJECTIVE … (full packet per task, see Pocket Packets)

## Plan Summary
| Task | Name | Depends | Complexity | Key Verification |

The parser anchors on: the # EXECUTION PLAN — <name> title (the title uses an em dash; the parser matches it literally), a ## Pocket Packets section, and ### Task N: <name> [annotation] headings. Task count selects no other schema. A plan too small for packets belongs in hotfix, not in a reduced format.

Dependency annotations

AnnotationMeaning
[prereq]No dependencies, runs first
[depends: T1]Must wait for T1
[depends: T1, T2]Must wait for both
[parallel: T3]Can run concurrently with T3
[test-risk]Marker: test strategy is non-obvious (audit trigger). Append after dependency annotations

Dependency order is recommended: development enforces actual sequencing.

What structuring produces

index.md
phase-N.md
  • index.md is the Task Index table in execution (phase-group) order.
  • tasks/T1-*.md is one file per task, opened on demand by development.
  • phase-N.md exists for multi-phase plans only: "Phase N of M", prerequisite, contained tasks, unlocks-next, and a ## Phase Completion Gate.

Single-phase plans still get the index + task files; there is no passthrough below a task-count threshold.

What the CLI validates

--dry-run (mandatory in planning, non-authorizing) checks that the plan parses, conforms to the template, and has a valid dependency order, reporting NO_TASKS, UNKNOWN_TASK_REF, CYCLE_DETECTED (plus duplicate task IDs and dependency-order inversions, enforced since the structure hardening), and captures data.action (single | split) and data.executionFlow (for example T1→T2,T3(PARALLEL)→T4). A failed dry-run stops any approval gate.

On this page