# dds v0.25.0 - Table of Contents > development-driven-specs — the dds toolchain (protocol 2) as a Mix task. A thin shim over the bundled instruments (Python, stdlib); never a port. ## Modules - [Dds](Dds.md): The dds toolchain, bundled. This module is a LOCATOR AND RUNNER, nothing more — the instruments are the bundled Python (the same bytes as the tagged toolchain repo), and all semantics live there. ## Mix Tasks - [mix dds](Mix.Tasks.Dds.md): Runs the dds toolchain against this repository — witness, check, and the judged leg when needed — then dumps the issues. Exit 0 PASS · 1 FAIL · 2 INCOMPLETE. - [mix dds.ci](Mix.Tasks.Dds.Ci.md): The machine run: witness (required) → verdict reuse → batched judge → check → issues dump + full walk → dds-check.json + .dds-check-status → provenance stamp. An absolute read of the tree now — no base, no delta. Guesses nothing; fails rather than attest silence. - [mix dds.upgrade](Mix.Tasks.Dds.Upgrade.md): Installs or upgrades development-driven-specs in this repository from the bundled bytes — the canon into docs/ (Amendment-4 reconcile: declared divergences re-applied, stale ones surfaced), the agent skills into .claude/skills/, the version pin, and the list of pending migration docs to execute. Never commits; review with git diff.