Early Access. Commands and behavior can change between releases.
architech factory, not mutagent factory. Run them in your shell.
Inside Architech, /factory shows Factory state; it is not the shell CLI.
session finish, session lane and session ask;
these use the stage’s own credentials, not your sign-in.
Output and shared options
With--json, each call prints one {ok, data, next} object to stdout. On failure, read
error.code, error.reason and error.fix. next suggests next commands, with reasons; review
them before you act. Consent URLs and streamed events go to stderr.
Configuration
--dry-run on push or pull writes and commits nothing; push still asks Cloud what would change.
Pushing adds your installed release’s framework pin only if the file has none; an
existing pin stays. A successful push can still leave the file uncommitted, for example on a
detached HEAD or when the commit fails. See factory.yaml for
how the versions differ.
Setup and connections
The Factory ID is
metadata.name. Use the IDs commands return,
including the binding ID from a board response.
Push reports
linked, board and drift; status shows the same setup state. Push doesn’t
link repositories or bind the board. Connect GitHub on Cloud, push the file, then run
architech factory board bind <factory> once if the board is not bound.Runs, gates and questions
runs approve --sub-item <key> restricts PR approval to one sub-item. Without it, PR approval
covers all sub-items waiting at that gate; review their PRs before approving. A plan approval
can’t carry corrections: a --note with changes is refused. Use --reject with your note, or the
changes label.
Triggers
Triggers start work; they never approve a gate. Event kinds:board.status,
board.label, board.comment, board.assigned, github.pr.approved, github.pr.merged,
github.ci-failed, run.request, slack.mention, webhook and trace.threshold. With no
triggers of your own, a Factory starts plan when an item gets a pickup label or is assigned to
factory, and build when CI fails on a factory/* branch. Whichever trigger fires, a run from
the board also needs every pickup label and no hold label.
--filter key=value. --priority <integer> decides which
matching trigger runs first (higher first). An event file holds JSON such as:
plan, or build for github.ci-failed. They can’t skip an approval.
triggers fire runs a schedule trigger (a routine) now, by its name in factory.yaml; add
--factory <id> for another Factory and --key <key> to make a retry run it only once. See
routines. The
delete command above removes triggers created through the API, such as with triggers create. To
change a trigger, edit triggers in the file and push; see
factory.yaml triggers and the Triggers and routines.
triggers create and board unbind warn factory.yaml is now behind when this checkout has
the matching file but the file can’t hold the change. A push after unbind reports the binding
state; run board bind to reconnect. A trigger created through the API lives only on Cloud.Workspace display setting
on or off. This doesn’t
enable or disable a Factory’s triggers, and it isn’t a factory.yaml field.