Skip to main content

0.12–0.14 — four areas, and a command line as a declared surface

· 5 min read
0.12–0.14 — four areas, and a command line as a declared surface | ESSess --help lists four commands, one per area, and every flat spelling stays a hidden alias that prints the same bytes. A component can declare that its callers are people at a terminal, and --target clap synthesizes the parser from that declaration. Release execution gets an explicit executor boundary.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-21-1000-four-areas-and-a-command-line.md · revision b89faaa411bd

Three releases about surfaces: the one this tool presents, and the one a specified component presents to a person at a terminal.

0.10–0.11 — the claims a generated scenario could not make

· 4 min read
0.10–0.11 — the claims a generated scenario could not make | ESSA command outcome says which entity fields it determines and from what, so a generated scenario asserts the values a row holds rather than only that the row exists. On the billing example the negative-total fault went from caught by 6 of 29 scenarios to 13. A wrong-state branch can also accept, and a view can take parameters.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-21-0930-the-claims-a-scenario-could-not-make.md · revision b89faaa411bd

A conformance suite is worth what its assertions are worth. These releases are about three claims the model had no way to state, each found by an implementation that passed while being wrong.

0.8–0.9 — a deployment described, and still nothing applied

· 3 min read
0.8–0.9 — a deployment described, and still nothing applied | ESSA physical realization binds one exact specification digest to the artifacts that implement it, and seven typed formats lower a semantic system to independently released Helm deployments. ESS projects the inputs and verifies the evidence; it builds nothing, publishes nothing, applies nothing.ESSfield-noteessfield-noteadopterdevelopertry-spec-driven-developmentresearch

Source-owned field note · website/blog/2026-09-21-0900-a-deployment-described.md · revision b89faaa411bd

The releases through 0.7.1 established that a specification can judge an implementation, and that the same pattern points at a running cluster. What neither could say is which artifact implements which component, and what it takes to run it. These two releases say it, as typed data, without acquiring the ability to do anything about it.

0.24.0 — the docs say what the tooling does, and a tag cuts its own release

· 4 min read
0.24.0 — the docs say what the tooling does, and a tag cuts its own release | AEPThe site had drifted to the point of misdescribing the repository: since 0.13.0 the code gained 7,805 lines and the website gained three. Plus a release workflow, and a self-test that found a real defect on its first run.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-26-0245-the-docs-catch-up.md · revision 824869fecbd2

Since 0.13.0 this repository gained 7,805 lines of code and its website gained three. protocol reverse — four verbs and 2,782 lines — had no mention anywhere on the site, and the status page still opened "current as of 0.10.0-horizons-dogfood-lab".

0.23.2 — the first tag this repository has verified

· 3 min read
0.23.2 — the first tag this repository has verified | AEPCI had been red for eleven consecutive releases behind a green local gate, because task check was missing exactly the two jobs CI also ran. One failure arrived through the lockfile with no source change at all.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-26-0118-the-first-verified-tag.md · revision 824869fecbd2

The least comfortable release note here.

CI had been red for eleven consecutive releases — every tag from 0.13.0 to 0.23.1 — with a green local gate the whole time.

0.23.1 — the pin says what it links, and the ladder says draft

· 3 min read
0.23.1 — the pin says what it links, and the ladder says draft | AEPTwo corrections that are the same mistake in two places: a dependency pin recording a tag two releases behind what exists, and a new ladder starting at drafted — one letter from a built-in.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-26-0055-the-pin-says-what-it-links.md · revision 824869fecbd2

A small release, and both fixes are the same mistake wearing different clothes: a label that had drifted from the thing it names.

0.23.0 — a claim that left the boundary

· 4 min read
0.23.0 — a claim that left the boundary | AEPEvery other ladder here models evidence flowing inward. An outbound claim runs the other way — a number already in a customer's inbox — and sending is not undoable. Added as a YAML file with no Rust change at all, which is what the whole entity-runtime programme was for.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-26-0049-a-claim-that-left-the-boundary.md · revision 824869fecbd2

Every ladder in this repository models evidence flowing inward: something was observed, and an artifact's status records what we now know.

An outbound claim runs the other way. A number in a customer's inbox. A status page saying "resolved". An availability figure in a renewal deck. Those are assertions that already left the boundary, and nothing here modelled them.

0.22.0 — a second harness, and what it immediately found

· 3 min read
0.22.0 — a second harness, and what it immediately found | AEPOne trace-spec/1 specification now decides two transcript shapes, so harness neutrality stops being a claim with one case behind it. Plus three prose counts re-derived from the commands that print them.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-26-0045-a-second-transcript-shape.md · revision 824869fecbd2

Every behavioural document here is published as harness-neutral, and until this release exactly one transcript adapter existed. So "neutral" was a claim with no second case behind it.

A vocabulary tested against one harness is a vocabulary shaped like that harness, and nobody can tell which from the inside.

0.21.0 — four mechanisms the engine and driver were missing

· 3 min read
0.21.0 — four mechanisms the engine and driver were missing | AEPEvidence names its subject, so a green run for one story can no longer discharge another story's gate. An advisory tier that reports and gates nothing. A circuit breaker on step dependencies. And the driver writes down what a step was not allowed to do.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-26-0025-the-engines-mechanisms.md · revision 824869fecbd2

Four mechanisms, each closing a gap where the rule existed and nothing enforced it.

0.20.0 — evidence you record, and provenance for a decision

· 3 min read
0.20.0 — evidence you record, and provenance for a decision | AEPprotocol artifact evidence records an observation against an artifact so a later move can be decided on it. And a move now separates evidence that was recorded from evidence that was asserted — saying so at the moment it leans on the weaker one.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-26-0003-evidence-names-what-it-is-about.md · revision 824869fecbd2

0.15.0 let a rung cost evidence. This release is how the evidence gets there.

$ protocol artifact evidence outbound-claim:q3-uptime \
--kind approval --source "legal review" --ref https://example.invalid/approvals/814
outbound-claim:q3-uptime: approval recorded from legal review
on hand: approval=1

$ protocol artifact move outbound-claim:q3-uptime --to cleared
outbound-claim:q3-uptime moved draft -> cleared (revision 2)