The /dr-auto Command — End-to-End Task Execution
How /dr-auto orchestrates the full Datarim pipeline with minimal operator interruption — automatically resolving minor gaps while always escalating irreversible actions.
Running a task through Datarim normally means invoking several commands in sequence, reading context at each stage, and answering clarifying questions along the way. /dr-auto collapses that sequence into a single call — a thin orchestrator that decides whether to resume an existing task or start a new one, then drives the pipeline from the current stage to /dr-archive.
The command accepts either a task ID to resume — matched by the pattern of two to ten uppercase letters, a hyphen, then four digits — or a free-text brief to bootstrap a brand-new task from scratch.
How autonomous mode works
When /dr-auto starts, it exports DATARIM_AUTO_MODE=1 for the session and writes a marker file at datarim/.auto-mode-active containing the task ID, timestamp, and mode. Every downstream stage reads the autonomous-mode skill and uses it to decide whether a given question can be answered from existing artefacts, a quick probe, or memory — rather than asking the operator.
The marker is the safety mechanism: if the env var is set but the marker is absent, or if the marker contains a different task ID, downstream stages treat the session as non-autonomous. This prevents a stale env var from suppressing questions on an unintended task.
Inline gap closure
When a stage finds a small gap — something that refines an existing acceptance criterion without changing its meaning — the gap is closed in the same cycle. The change is recorded in datarim/tasks/{TASK-ID}-auto-inline-log.md with a timestamp, the files touched, the line delta, and a one-sentence rationale. Bigger gaps that would change a contract are not patched inline; they become new backlog items instead.
What always requires operator approval
Nine categories of action are permanently gated, regardless of mode: production deploys, secret rotation, irreversible database operations, public communications on any channel, finance or legal actions, force-push to main, deletion of git history, actions affecting more than one end user, and cross-project writes to a repository whose prefix is not the current task's project. These gates do not suppress — the command always escalates them to the operator and records the round in the init-task append-log.
When to use it
The command is suited for tasks with a clear brief and well-defined acceptance criteria, where the back-and-forth is mostly overhead — typically L1 and L2 items. It is also the standard way to resume a task after an interruption: /dr-auto {TASK-ID} reads the last stage snapshot and replays from there without rerunning already-completed stages. For exploratory work or high-risk framework changes, the per-stage commands are a better fit — each gate is a genuine decision point that benefits from the operator being present.
For the full pipeline reference, see what Datarim is. The underlying resume mechanism is described in detail in /dr-next.