0.8.0 — the repository starts planning itself, and a transcript gets judged
Two waves in one release, and they are the same idea applied twice: take something that was prose and make it a typed thing a program can refuse.
Harness wave 1 — the plan becomes data
Planning artifacts live in the repository as markdown under .engineering/planning/, and are
moved only through lifecycle-validated CLI verbs. The consequence of choosing markdown over a
database is concrete: the diff of a status move is one line, and git log already knows who made
it.
A Claude Code plugin — one skill, two agents, no hooks at this point — teaches the store's rules and discovers its vocabulary at use time rather than hard-coding it, so the plugin does not go stale when the vocabulary grows.
And a repeatable hermetic eval checks the plugin's behaviour with mechanical assertions, run metrics, and an advisory adversarial review.
Trace wave 1 — a run becomes a judgeable object
A harness transcript normalises into a content-addressed event IR and is judged against a
trace-spec/1 document: forty-nine expectation kinds, verdicts ok / gap / unk, exit codes
0 / 1 / 3.
The third value earns its place here more than anywhere: unk means the adapter did not
understand the event, which is a different thing from the expectation failing, and a checker that
reported those as failures would be unusable against any harness it did not fully model.
A passing check mints trace_conformance evidence the engine admits, produced by the
trace-checker verifier class and fed back through protocol evaluate --evidence. That is the same
join as the ESS half: an observation becomes a fact a completion rule can read.
And a narrowing, stated
The vision's refusal of "a workflow engine" was narrowed to admit a reference driver — decided and designed, not built. A boundary that moves should move in writing, with the reason attached, or it looks later like it was never there.
Written retrospectively from this release's CHANGELOG.md section and its annotated tag; no
re-run command output.