Skip to content

Name a stubbed event in the first run - #29

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 mirrors firstdraft/drawing-board#88 in workshop-kit/scripts/linux/app-instructions.md: the first bullet of Setup and specs now says "A stubbed scope or event raises", so the notes name each kind of stub the generated AGENTS.md names. Its clause that a Chrome that cannot start is a gap in the laptop's setup, not a First Draft defect, stays. Nothing else in the file changed. 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 laptop (WSL or Mac), and Claude reading the notes. This repository has no CI.

Not for merging until the owner approves: merging changes what newly set-up laptops get.

Docs: updated workshop-kit/scripts/linux/app-instructions.md (Setup and specs).

Review: Codex (codex-review 0.8.0, max effort), session 2bb52beb-d874-4754-a759-7d3293fde3e8, 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 and the Drawing
Board's notes do. A Chrome that cannot start is still a gap in the
laptop's setup. Before the deploy no README lists an event, so the
rule holds on both sides of it.
@raghubetina
raghubetina merged commit c8fbb67 into main Oct 12, 2026
@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