| name | unit-executor |
| description | Execute exactly one eligible Unit in an existing research Workspace; use for stepwise or manual semantic execution when status, Attempt, Artifact, Manifest, checkpoint, and acceptance evidence must remain synchronized. |
Unit Executor
The leading principle is atomicity: one invocation owns one Unit Attempt and
either commits one accepted Completion or records one diagnosable block. It
never starts a second Unit.
Inputs
UNITS.csv and the selected Unit row.
- Files declared by that row's
inputs field.
DECISIONS.md when the Unit is checkpoint-gated.
Outputs
- Files declared by the Unit's
outputs field.
- Updated
UNITS.csv, Run Evidence, and optional STATUS.md projection.
output/QUALITY_GATE.md when strict quality checks block Completion.
Steps
1. Reconcile and select one Unit
Inspect the Workspace through the Pipeline adapter. Select the requested Unit,
or the first TODO Unit whose dependencies are DONE. Stop when a HUMAN
checkpoint, unresolved Decision, open Attempt, or integrity failure prevents
selection.
Completion criterion: exactly one eligible Unit is selected, or one blocking
condition is recorded with a concrete next action.
2. Open the Attempt
Start semantic work through the adapter, never by editing a status cell:
uv run python scripts/pipeline.py mark \
--workspace workspaces/<name> \
--unit-id <U###> \
--status DOING \
--note "starting semantic execution"
Completion criterion: the Unit is DOING and one matching open Attempt owns
the execution.