Change tasks
A change task describes one change to the product. Its work is on a branch in each repository, and the branch is merged. Each task is one file in tasks/, and it stays there with its last status.
intake writes the file. probe settles what is open in it. build does the work.
#The fields
---
id: T-012
status: draft
milestone: Offline
exploration: E-002
repos: [acme]
depends_on: [T-009]
decisions: [3]
pull_requests: []
provider:
---| Field | It gives |
|---|---|
id | The number of the task |
status | Where the task is. See Statuses. |
milestone | The milestone of the task |
exploration | The exploration that the task came from |
repos | The repositories that the task changes |
depends_on | The tasks that must be done first |
decisions | The numbers of the decisions that apply. A task gives the number, not the text. |
pull_requests | The URL of each pull request. build writes them. |
provider | An optional model for the session, for example claude/opus |
#The sections
| Section | It holds | Who writes it |
|---|---|---|
## Goal | What changes in the product, in plain words | intake |
## Acceptance criteria | One check on each line | intake, probe |
## Out of scope | What this task does not do | intake, probe |
## Context changes | Facts that a future task must know | build, probe |
## Deployment requirements | What you do to deploy: variables, secrets, migrations | build |
## Questions | Each open question, and its answer | probe, build, triage |
## Discovered work | Other work that the build saw, and did not do | build |
## Evidence | What the build ran, and what it decided | build |
## Rework | The changes to make after a review | triage |
## Review, ## Promoted | The result of accept | accept |
#A decision that a build cannot make
A build runs with no person, so it has a rule for a decision that the task does not give.
- If the decision changes what the product does for its users or for other systems, or changes stored data, the build stops and writes the question. The status becomes
blocked. - If the decision changes only how the code is written, the build makes the decision, and writes the reason under
## Evidence.