Skip to main content

21 posts tagged with "aep"

View All Tags

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 8f106fad0926

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 8f106fad0926

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.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 8f106fad0926

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 8f106fad0926

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)

0.19.0 — the plan has a history

· 3 min read
0.19.0 — the plan has a history | AEPThe markdown store gains an append-only journal, so what happened to an artifact becomes a question you can ask rather than a git log you reconstruct. A corrupt line is skipped and counted, never silently dropped.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-25-2354-the-plan-has-a-history.md · revision 8f106fad0926

The planning store is markdown files in git, so its history was always there — as git log, in a form you had to reconstruct. This release makes it a question you can ask.

$ protocol artifact history outbound-claim:q3-uptime
2026-08-26T00:08:16Z operator created as draft (revision 1)
2026-08-26T00:08:20Z operator approval recorded from legal review (https://example.invalid/approvals/814) (revision 1)
2026-08-26T00:08:20Z operator moved draft -> cleared (revision 2)
2026-08-26T00:08:20Z operator moved cleared -> sent (revision 3)

0.18.0 — the typed blocker, and a vocabulary that says why it is closed

· 3 min read
0.18.0 — the typed blocker, and a vocabulary that says why it is closed | AEPTwo rungs, and the value is entirely in the type: a blocker is typed by what would clear it, so "blocked" stops being a label on a card. Plus an audit of every adopter-facing vocabulary — open or closed, and what each closure buys.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-25-2348-the-typed-blocker.md · revision 8f106fad0926

$ protocol artifact lifecycle blocker
blocker starts at open
cleared -> nothing
open -> cleared

Two rungs. The value is entirely in the type: a blocker is typed by what would clear it, so blocked stops being a label on a card and becomes a statement with a named exit.

0.17.0 — obligation, a commitment on a clock nobody here controls

· 3 min read
0.17.0 — obligation, a commitment on a clock nobody here controls | AEPA second ladder, and the rule attached to it is the point: an obligation must never gate a transition. A missed external deadline is a fact to report, not a permission to withhold.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-25-2342-obligation.md · revision 8f106fad0926

An obligation is a commitment on a clock nobody here controls: a customer's deadline, a regulator's window, a partner's delivery date.

$ protocol artifact lifecycle obligation
obligation starts at open
met -> nothing
open -> met, slipped
slipped -> met

0.16.0 — a rung may open on a date, and the clock is read at the edge

· 3 min read
0.16.0 — a rung may open on a date, and the clock is read at the edge | AEPDate and duration operators join the condition language, so a rung can be shut until a date arrives. The kernel still has no clock: the instant is read at the edge and passed in, which is what makes a recorded decision re-checkable by somebody who was not there.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-25-2337-a-rung-may-open-on-a-date.md · revision 8f106fad0926

Some rungs should not open yet. A review window. A cooling-off period. A notice period somebody agreed to in a contract.

This release adds date and duration operators to the condition language, so a ladder can say so.

0.15.0 — a rung may cost evidence, and the refusal says which kind of no

· 3 min read
0.15.0 — a rung may cost evidence, and the refusal says which kind of no | AEPA ladder that only says what may follow what models permission, not earning. requires: names what a rung costs, and the refusal distinguishes "on the ladder and not yet earned" from "not on the ladder" — two sentences that lead to different next actions.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-25-2258-a-rung-may-cost-evidence.md · revision 8f106fad0926

0.13.0 made the status ladder data. This is the first release that spends it.

A ladder that only says what may follow what models permission, not earning. Anybody could move a story to implemented; the ladder had no opinion about whether anything was implemented.

0.14 — the protocol reads a repository that already exists

· 4 min read
0.14 — the protocol reads a repository that already exists | AEPRelease 0.14.0 adds protocol reverse: four verbs that point the tooling at a repository written with none of this in mind. Three of the four write nothing, so you can run them against your own code before deciding anything.AEPfield-noteaepfield-noteadopterdevelopertry-spec-driven-developmentunderstand-safe-agentic-codingresearch

Source-owned field note · website/blog/2026-08-25-1605-a-repository-that-already-exists.md · revision 8f106fad0926

Every worked example on this site starts from documents that already exist. That is the wrong end for anybody deciding whether to adopt: your repository has a README, a test layout, a CI file and six years of git history, and none of it was written with a protocol in mind.

0.14.0 adds protocol reverse — four verbs that read what a repository already says about itself. Three of the four write nothing at all, which is the part that matters when you are evaluating a tool you do not trust yet: the worst case is a report you disagree with.