Skip to content

Planning work

Planning turns a request into independently reviewable outcomes before implementation starts. It prevents an agent from widening the task while it works.

Choose the planning level

Work size or riskRequired planning
Trivial, one-concern changeA short task declaration with scope, validation, and one batch.
Focused bug fix or small featureA 1–3 batch checklist with acceptance criteria and focused tests.
Cross-layer, migration, security, release, or more than three batchesA written plan with risks, dependencies, rollback, validation, and a batch ledger.
Owner-specified batch countA written ledger with exactly that many numbered batches and one commit per batch.

Plans are durable decision records, not agent transcripts. Keep ephemeral reasoning, execution ledgers, and handoffs in the task or pull request; published docs/ must not contain them. Commit a repository-visible technical decision only in an approved non-published planning location.

Plan template

md
# <Change title>

## Goal

## Scope and non-goals

## Constraints and risks

## Acceptance criteria

## Validation and rollback

## Batches

1. <independently testable outcome> — <focused evidence>
2. <independently testable outcome> — <focused evidence>

Plan discipline

  • Plan outcomes, not folders or implementation guesses.
  • Name the source of truth for data, APIs, platform contracts, and release behavior before adding a parallel model.
  • Put a behavior change and its direct tests in the same batch.
  • Replan before crossing an agreed non-goal, changing a public contract, adding a migration, or exceeding the batch budget.
  • Record a failed or unavailable gate as unverified; do not silently replace it with a smaller check.

Batch ledger

For work with a fixed count, maintain one entry per batch with status, commit, evidence, and any approved exception. A batch is complete only after its local commit exists. Push is tracked separately because it needs explicit authorization.

BatchOutcomeLocal commitEvidencePush authorized?
1Example outcomependingpendingno

Released under the MIT License.