Skip to main content

21 posts tagged with "aep"

View All Tags

0.13 — the ladder is data

· 5 min read
0.13 — the ladder is data | AEPRelease 0.13.0 takes the status ladder every plan item climbs out of Rust and puts it in a YAML file, decided by entity-core — a separate, IO-free kernel. The consequence: modelling a kind of work this repository never anticipated stops needing a pull request here and a release.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-25-1444-the-ladder-is-data.md · revision 8f106fad0926

Every plan item in the planning store sits at a status and climbs a ladder: draftproposedactiveimplementedaccepted. Until 0.13.0 that ladder was a hand-written lookup in Rust, and the consequence for anybody using the tool was concrete and annoying: a team whose work does not fit the shapes we happened to think of had to send a pull request to this repository and wait for a release.

It is a YAML file now.

0.12.0 — a workflow declares where a run may write

· 4 min read
0.12.0 — a workflow declares where a run may write | AEPA step now declares the files it is handed and the paths it may write, with partial-only as the word that earns the shape. Measured on four live runs rather than asserted — and the toolset stopped a run the prose had only warned about.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-24-1618-where-a-run-may-write.md · revision 8f106fad0926

A workflow step now declares two things it never could: the files it is given, and the paths it may write.

0.11.0 — the corpus becomes ground truth, and a gate that lied gets caught

· 3 min read
0.11.0 — the corpus becomes ground truth, and a gate that lied gets caught | AEPAn outside adopter re-issued the horizons corpus as ground truth, and the scanner followed. Plus the process lesson that cost the most: two gates that aborted at their first step were read as green through a piped exit status.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-22-0105-ground-truth-and-docs.md · revision 8f106fad0926

The most useful thing in this release is a mistake it documents.

0.10.0 — evidence gets a shelf life, and the first governed run stops

· 3 min read
0.10.0 — evidence gets a shelf life, and the first governed run stops | AEPA fact decays to Unknown past its horizon, never to False, and no API can extend one. Then the protocol governs a real story out of this repository's own backlog — and blocks four states short of where it was meant to.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-21-2343-horizons-and-the-first-governed-run.md · revision 8f106fad0926

Two things, and the second is the one that matters.

0.9.0 — something walks the workflow, on evidence alone

· 3 min read
0.9.0 — something walks the workflow, on evidence alone | AEPThe reference driver exists: protocol drive walks a workflow, blocks with the engine's reasons verbatim, and is held to the protocol verbs by enforcement hooks. Preceded by an adversarial review of six architecture decisions, with all seventeen corrections applied before a line was built.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-21-2120-the-reference-driver.md · revision 8f106fad0926

Everything before this release answered questions. This one walks a workflow — and the design of it was argued out and corrected before any of it was written.

0.8.0 — the repository starts planning itself, and a transcript gets judged

· 3 min read
0.8.0 — the repository starts planning itself, and a transcript gets judged | AEPPlanning artifacts become markdown in the repository, moved only through lifecycle-validated verbs. And an agent transcript normalises into an event IR judged against a typed specification — the third observation domain after a specification and a cluster.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-21-1708-the-plan-and-the-transcript.md · revision 8f106fad0926

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.

0.2.1 — the first command needs no arguments

· 2 min read
0.2.1 — the first command needs no arguments | AEPA project describes itself once in .engineering/project.yaml and the CLI finds it. Projects may add principles and profiles of their own, merged over the protocol tree's — without being able to shed what it enforces.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-20-0201-project-discovery.md · revision 8f106fad0926

An adopting team's very first command should not require them to have read the manual. This release makes a project describe itself once, in .engineering/project.yaml, and the CLI find it.

0.2.0-wave-3 — a backend can prove it, instead of claiming it

· 2 min read
0.2.0-wave-3 — a backend can prove it, instead of claiming it | AEPSixteen black-box conformance suites over the command and query surfaces, three levels — and a deliberately broken backend the suites are checked against, because a suite that passes everything tells you nothing.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-20-0141-conformance-and-the-domain-profiles.md · revision 8f106fad0926

Any storage backend can say it implements the contract. This release is about the difference between saying and proving.

0.2.0-wave-2 — every object addressable, every mutation auditable

· 2 min read
0.2.0-wave-2 — every object addressable, every mutation auditable | AEPOpaque identity, logical locators, monotonic revisions, and one command boundary with idempotent replay and conflicts that refuse rather than merge. Plus the audit record that keeps the refusals.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-20-0102-identity-and-the-interaction-contract.md · revision 8f106fad0926

A protocol that decides things has to be able to say which thing it decided about, and who asked. This release makes every object addressable and every mutation auditable.

0.2.0-wave-1 — a task becomes a plan

· 3 min read
0.2.0-wave-1 — a task becomes a plan | AEPThe first release you can run against something. A task plus a document tree produces a plan, evidence decides what may be done and whether the work is finished, and a capability decision names the rule that decided it.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-20-0028-the-execution-core.md · revision 8f106fad0926

0.1.0 was a vocabulary. This is the first release where a question goes in and an answer comes out: a task plus a document tree produces a plan, and evidence decides both what may be done and whether the work is finished.