Shipping with the Allternit Factory build. Campaigns, DAG nodes, WIH pickups, receipts and the judge exist in the work runtime today. Node folders, proof contracts, the Board and the
gizzi workspace commands are the approved design and are not live yet.gizzi workspace is the work itself: what you asked for, how it was split, who picked up each piece, and the proof that it’s done.
Campaigns
A Campaign is one piece of intent (“Saved views”). In Desktop, a project is a Campaign. It holds a plan of nodes and a summary of where they stand.gizzi workspace plan new|refine creates or changes the plan behind a Campaign. Every change is a Gate event with provenance. See Campaigns.
Nodes
A node is one unit of work in the plan’s DAG. It has a status (new, ready, working, checking, needs_you, done, failed or blocked), an assignee (bot@team), the nodes blocking it, and a proof count.
node handoff passes a claimed node to another agent without closing it. The Gate records the new owner (so a rebuild from the ledger keeps it), the note is added to the node’s PROGRESS.md, and a bot on this computer gets a message telling it to read the node folder. A node that isn’t claimed can’t be handed off; claim it or assign it first. --dry-run shows who it would move from and to.
The node folder
Every node gets a folder. It’s what a bot reads before it starts and what you read before you approve.SPEC.md has three sections:
- Intent is the outcome in one or two sentences.
- Mini-requirements are the concrete pieces of that outcome.
- Proof contract is the list of things that must be shown, each with who checks it. A line isn’t proven by ticking its box. It’s proven when evidence in
proof/gets anaccomplishedverdict from the judge.
PROGRESS.md is narrative. Screens show it to the side and label it that way. It never counts toward proof.
Any ```mermaid block in SPEC.md, PROGRESS.md or a Campaign doc renders as a diagram in Desktop and on the phone.
Proof and the judge
proof/, with a receipt) and a verdict: accomplished, not_accomplished or needs_human. A needs_human verdict lands in Needs you. Receipts are written when the pickup closes, and they’re what replay checks. See Verification and Receipts.
The Board
- Summary line: NOW (being worked on), NEXT (ready), PROVEN
k/n, NEEDS YOU. - Waves: nodes grouped by how deep they are in the
blocked_bychain, so wave 1 is what can start now. - One card per node: title, assignee and binding, status, proof
k/n.
Tasks
gizzi workspace tasks is your task list. It replaces gizzi cowork. Each cowork task is a node in your standing Tasks DAG (tasks-<you>-<workspace>), written through the Gate like any other node, so the board, approvals and proof work the same way:
gizzi workspace tasks board [--workspace <id>]: the Tasks board (needs you, now, next, done).gizzi workspace tasks tasks: the task list, with scheduling.gizzi workspace tasks queue list: work waiting for an agent to claim it.
/api/factory/tasks/* on allternit-api), so Desktop, the web app and your phone show the same list. The engine’s own allternit-factory workspace tasks points you here.