Skip to main content

Task Flow

Use ds task when you are starting a change and want the next agent session to stay inside one clear unit of work.

Create a task

ds task "Serve Swagger UI OAuth2 redirect from a custom docs redirect URL" \
--profile code-change \
--slice "Trace Swagger UI OAuth2 redirect flow and tests" \
--slice "Wire custom docs redirect URL through FastAPI docs helpers" \
--slice "Add regression coverage and docs examples"

DevSpecs creates a task index and one plan/result pair per slice:

A00 Task index
A01 Trace Swagger UI OAuth2 redirect flow and tests
A02 Wire custom docs redirect URL through FastAPI docs helpers
A03 Add regression coverage and docs examples

Each slice gets packed context: likely source files, likely tests, related docs, evidence receipts, exclusions, and a decision gate.

Start one slice

ds task show A01
ds task prompt A01
ds task start A01

The prompt is intentionally bounded. It tells the agent to work on A01, avoid later slices, run the slice's acceptance checks, and stop with a result.

Record what happened

ds task checkpoint A01 \
--stage validated \
--decision promote \
--actual-file fastapi/openapi/docs.py \
--actual-test tests/test_custom_swagger_ui_redirect.py \
--test "pytest tests/test_custom_swagger_ui_redirect.py"

Checkpoints preserve what the agent actually touched, what tests were run, what was missed, and whether the next move should promote, improve, rework, rollback, or block.

Move to the next slice

ds task finish A01 --decision promote
ds task next <task-id>
ds task prompt A02

finish records lifecycle state without rewriting the human-authored task index. next returns the intended next target so a human or agent does not accidentally treat the full track as one work package.

Profiles

Profiles tune the generated scaffold. In v1.1, use:

ProfileUse
code-changeDefault source/test implementation work.
greenfieldPlanning-heavy work where code targets may not exist yet.

More profiles can be added later, but the artifact shape should stay stable.