> A DAG CONTROLLER, NOT A CHATBOT MEMORY
Every step writes to disk before the next one starts — so a workflow can survive being paused.
A single agent-team run is great for one focused task. SDTK-AGENT sits above it: a stateless-CLI-over-file-ledger controller that chains several steps into one durable run, with human approval gates wherever a decision needs a person, and can resume from a completely different process because every command reads and writes the same on-disk state.
Without SDTK-AGENT
- Multi-step workflows live in one long chat session
- Close the tab, lose the state — start over
- Approval gates are a message you hope gets read
- No record of what ran, what was skipped, or why
With SDTK-AGENT
- Workflow state lives in a run ledger on disk, not in a chat
- `run continue` resumes from any process, any time
- `gate approve`/`gate reject` block downstream until a person decides
- `run report` renders a durable record of the whole run
Step 1run start
Validates the workflow + runtime map, freezes both into a new run ledger. Does not execute anything yet.
run_id printed — the handle for every subsequent command.
Step 2run continue
Dispatches every ready task through its mapped adapter (manual / shell / sdtk-cli / Hermes Kanban dry-run), applies the state-machine reducer, and stops at the first block, wait, or completion.
state.json updated on disk — safe to stop and resume from a different process.
Step 3gate approve / reject
A human reviews a `human_gate` stage and writes an approval decision — approved, rejected, or needs_changes with notes.
approvals/<gate_id>.json — downstream tasks stay blocked until this exists.
Step 4run report
Reads state.json + all evidence files and renders a final Markdown report of the whole run.
reports/final_report.md — a durable record, not a chat transcript.