Skip to content

Name a stubbed event in the first run - #88

Merged
raghubetina merged 1 commit into
mainfrom
transition-stubs
Oct 12, 2026
Merged

raghubetina merged 1 commit into
mainfrom
transition-stubs

Conversation

@raghubetina

Copy link
Copy Markdown
Contributor

From the next First Draft deploy, a State Machine whose event has effects the Compiler cannot generate stays in AASM. That event's bang form, plain form, and may_ predicate raise NotImplementedError until it is written, its State Machine examples fail through the stub, and the generated README's Behavior to write lists it. Before, such a machine kept only storage. The generated AGENTS.md now says:

A spec that fails through behavior README.md's Behavior to write lists is work to do: write that behavior until its specs pass. A stubbed scope or event raises NotImplementedError, a stubbed Policy rule returns false, and a deletion outcome First Draft left out fails its spec with RecordNotDestroyed. Write every item that section lists, including a denying rule no failing spec names. Any other failure is a First Draft defect.

This changes only the first bullet of Setup and specs in .devcontainer/workshop/app-instructions.md: "A stubbed scope raises" becomes "A stubbed scope or event raises", so the notes name each kind of stub the generated AGENTS.md names. Everything else in the file is unchanged. Before the deploy no README lists an event, so the rule holds on both sides of it.

Verified. The wording follows the AGENTS.md template at service main e2318b81. That commit's transition stubs smoke passed: its compiled README listed four stubbed Ticket events under Behavior to write, and the generated suite failed only through those stubs' State Machine examples (96 examples, 16 failures).

Not run: a Codespace, and an agent reading the notes.

Not for merging until the owner approves: merging changes what new workshop Codespaces get.

Docs: updated .devcontainer/workshop/app-instructions.md (Setup and specs).

Review: Codex (codex-review 0.8.0, max effort), session 1f44225f-8b93-469f-a524-06abd8015fc8, approve.

The next First Draft deploy keeps a State Machine in AASM when one of
its events has effects the Compiler cannot generate. That event's
bang form, plain form, and may_ predicate raise NotImplementedError
until it is written, its State Machine examples fail through the
stub, and the README's Behavior to write lists it. The generated
AGENTS.md now says a stubbed scope or event raises.

The Setup and specs bullet says how each kind of unwritten behavior
fails, and it named no event. It now says a stubbed scope or event
raises NotImplementedError, as the app's AGENTS.md does. Before the
deploy no README lists an event, so the rule holds on both sides of
it.
@raghubetina
raghubetina merged commit 836d435 into main Oct 12, 2026
1 check passed
@raghubetina
raghubetina deleted the transition-stubs branch October 12, 2026 13:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant