State machine
.claude/state-machine.md of the hub is the only place for the states of the factory, and the rules that move work between them. The skills follow it. This page gives its statuses. Read the file for each rule.
#Change task
| Status | It means |
|---|---|
draft | The task is written. It has open questions. |
probing | You and probe settle the questions. |
ready | Nothing is open. A build can take it. |
building | A build runs. |
review | The pull request is open, and you review it. |
blocked | A build or triage needs your decision. The question is under ## Questions. |
accepting | Each pull request is merged, and accept runs. |
done | Accepted. The issue is closed. |
discarded | You dropped the task. The issue is closed. |
| From | To | Who |
|---|---|---|
| An input | draft | intake |
draft, blocked | probing | probe |
probing | ready | probe |
ready | building | The builder script, when it claims the task |
building | review | build |
building | blocked | build |
review | ready | triage, for rework |
review | blocked | triage |
blocked | ready | triage, when you answer each question on the pull request |
review | accepting | The watcher script, when each pull request is merged |
review | draft | The watcher script, when a pull request is closed with no merge |
accepting | done | accept |
review | done | accept, run by you |
| Each status | discarded | You |
The builder and the watcher are scripts of the worker, and Kiln has no worker. In Kiln, the panel claims the task when you press Build, and you run accept yourself. See Kiln and factories-hub.
#Exploration
| From | To | Who |
|---|---|---|
| An input | ready | intake |
ready | building | build |
building | review | build |
review | done, ready or discarded | accept, run by you |
done | consumed | accept, when each change task of the exploration is done |
An exploration has no pull request and no issue.
#Each change of status
Each change of status is a commit of the task file, pushed to the hub. Then, when the hub has scripts/sync-issues.mjs, the script updates the issue of the task.