# `mix surfex.draft`
[🔗](https://github.com/dcoai/surfex/blob/v0.6.2/lib/mix/tasks/surfex.draft.ex#L1)

Prints a change draft (`Surfex.Change`, §19) for every open mark, unmet id and triangle
gap, or for the ids given: what's wrong, what it touches, and the steps the process
implies. It prints and changes nothing:

    mix surfex.draft                       # every open mark, unmet id and gap
    mix surfex.draft spec.md#totals        # that unit's marks, or a draft to change it
    mix surfex.draft --format json         # for tools and agents

With `--file` each draft goes to the project's `process:` in `.surfex.exs` instead:
`:print` (the default) prints it, and `{:command, argv}` runs the command once per draft
with `{title}`, `{body}` and `{file}` substituted, for instance to open an issue in the
project's tracker. Surfex never hands anything off unless asked.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
