An ExecPlan must be:
- self-contained
- outcome-focused
- updated as work progresses
Keep it short. Prefer prose over long checklists.
Every ExecPlan should include:
- Purpose
- Progress
- Decision Log
- Context
- Plan of Work
- Validation
- Name the exact commands to run from the repo root.
- Describe the user-visible behavior after the change.
- Call out platform differences when Linux/macOS behavior may diverge.
- State how the change affects
dictate,dictate retry, launchers, or editor integrations if relevant.
- Active work:
docs/exec-plans/active/ - Finished work:
docs/exec-plans/completed/
- Keep completed ExecPlans that document cross-cutting work, user-visible behavior changes, or integration contracts.
- When work finishes, move the plan to
docs/exec-plans/completed/and trim it into a short historical record with accurate final decisions and validation. - Delete abandoned or throwaway plans only when they never became meaningful implementation history and would add noise rather than context.
# <Short title>
## Purpose
What user-visible behavior is being added or changed, and how to observe it.
## Progress
- [ ] Step one
- [ ] Step two
## Decision Log
- Decision: ...
Rationale: ...
## Context
Name the files, modules, commands, and constraints that matter.
## Plan of Work
Describe the edits in repository-relative paths.
## Validation
List the exact commands to run and the expected behavior.