Intent v2.11.13
[2.11.13] - 2026-06-14
Patch shipping ST0044: acceptance.md becomes the fifth default steel-thread document, and with it an Acceptance-Criteria / Acceptance-Test process that makes "done" an externally-verified event rather than a self-asserted checkbox. It ships as a patch on opt-in-by-presence grounds -- the close-gate and the acceptance.md contract are inert for any thread that does not adopt them, so behaviour is unchanged for non-adopting projects (the basis on which ST0040's whiteboard also shipped as a patch). The one non-additive change is intent st edit, which now prints a path rather than launching an editor. The thread was dogfooded on itself: ST0044's own build ran through the five-step with an independent verifier, and the thread closed through the very gate it introduced.
Added
-
acceptance.mdas a default steel-thread document.intent st newstamps it alongside info / design / impl / tasks, via the existinglib/templates/prj/st/ST####/*.mdglob -- no seam, default on. The template carries the acceptance contract: the AC section (ST-level + per-WP) and the AT section, with example lines indented under guidance so a freshly stamped thread carries no live column-0 entries and cannot self-gate-block.info.mdandWP/info.mdreference it and restate no ACs (one home, Highlander);intent st showlearns theacceptancetype (named and inall). -
intent acandintent at-- the acceptance contract CLI. An AC (Acceptance Criterion) is a ratified completeness boundary; an AT (Acceptance Test) is a small red-to-green test that proves a slice of it.ac list/ac status/ac satisfy/ac gate;at list/at red/at green/at na, withdone/notdonealiasing green / red. The AT state machine isto-write -> red -> green(+n/a), and green is reachable only from red -- a test cannot claim proof without first having failed. A test-backed AC is satisfied by computation (iff a covering AT is green), never by hand; a non-test AC carries inline evidence and is signed off by the verifier. The grammar is column-0 and bash-3.2-greppable; all reads and writes targetacceptance.mdalone. -
The acceptance close-gate.
intent ac gate <stid>[/NN]is the single authority on whether a thread or work package may close.intent st doneandintent wp doneconsult it and refuse on BLOCKED, with the verdict computed from the coverage map rather than read from a hand-ticked box. It is opt-in and legacy-safe: a thread with no directory, noacceptance.md, or zero in-scope ACs exits 0, so existing threads close exactly as before. -
The five-step process, documented.
intent/docs/working-with-llms.mdD11 is the canon home: the AC / AT axes, the five-step (verifier ratifies ACs -> builder writes red-first ATs -> verifier witnesses RED -> builder builds to green -> repeat), the open-gate and close-gate, and the lifecycle mapping. Light pointers reference it from/in-plan(open-gate),/in-verify(red-first + witness RED), and/in-finish(close-gate), each referencing D11 and none restating it.
Changed
intent st edit <id> [type]prints a path instead of launching an editor. It now validates the file type and echoes the file's absolute path for every doc type (info / design / impl / tasks / acceptance), replacing the macOSopen/$EDITORlaunch. This is the one non-additive change in the release: scriptingintent st editto open a file must now pipe the path to an editor explicitly.