Factory
Pages

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:
---
FieldIt gives
idThe number of the task
statusWhere the task is. See Statuses.
milestoneThe milestone of the task
explorationThe exploration that the task came from
reposThe repositories that the task changes
depends_onThe tasks that must be done first
decisionsThe numbers of the decisions that apply. A task gives the number, not the text.
pull_requestsThe URL of each pull request. build writes them.
providerAn optional model for the session, for example claude/opus

#The sections

SectionIt holdsWho writes it
## GoalWhat changes in the product, in plain wordsintake
## Acceptance criteriaOne check on each lineintake, probe
## Out of scopeWhat this task does not dointake, probe
## Context changesFacts that a future task must knowbuild, probe
## Deployment requirementsWhat you do to deploy: variables, secrets, migrationsbuild
## QuestionsEach open question, and its answerprobe, build, triage
## Discovered workOther work that the build saw, and did not dobuild
## EvidenceWhat the build ran, and what it decidedbuild
## ReworkThe changes to make after a reviewtriage
## Review, ## PromotedThe result of acceptaccept

#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.