From 0fbf7d2da5b5498f08b4595d61c64912af5cf6fc Mon Sep 17 00:00:00 2001 From: Raghu Betina Date: Mon, 12 Oct 2026 03:51:50 -0500 Subject: [PATCH] Key first-run failures on Behavior to write The next First Draft deploy keeps a polymorphic Reference's storage when a target cannot carry the authored deletion outcome. Such a target refuses its own deletion while a record references it, and a cascade or nullification it leaves out fails its deletion spec with RecordNotDestroyed. The README's Behavior to write lists that outcome, and the generated AGENTS.md now calls any spec that fails through behavior on that list work to do. The workshop notes called only a NotImplementedError work to do, so an agent would have reported a left-out deletion as a First Draft defect. They now key the first run on the Behavior to write list and name both failure shapes, as the app's AGENTS.md does. Before the deploy no README lists a deletion outcome, so the rule holds on both sides of it. --- .devcontainer/workshop/app-instructions.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/.devcontainer/workshop/app-instructions.md b/.devcontainer/workshop/app-instructions.md index 57d0d4c..646b11f 100644 --- a/.devcontainer/workshop/app-instructions.md +++ b/.devcontainer/workshop/app-instructions.md @@ -11,10 +11,11 @@ Never print secrets, show a file that holds one, or ask the user to paste one in ## Setup and specs - After Compile, set up the app, build its assets and run its specs as its README says, before the - first preview. In that first run, a `NotImplementedError` that names behavior listed under the - README's **Behavior to write** is work to do: write that behavior until its specs pass. Any other - failure in that run is a First Draft defect: tell the user which spec failed and its error. Never - edit or delete a generated spec to make it pass. + first preview. In that first run, a spec that fails through behavior the README's + **Behavior to write** lists is work to do: write that behavior until its specs pass. A stub + raises `NotImplementedError`, and a deletion outcome First Draft left out fails its spec with + `RecordNotDestroyed`. Any other failure in that run is a First Draft defect: tell the user which + spec failed and its error. Never edit or delete a generated spec to make it pass. - System specs need a Selenium browser that this Codespace does not start by itself. From the app's root, start it before every spec run (all specs, one spec file, or `bin/ci`) and stop it afterward, even when specs fail. Run these lines as one command, with your spec command in place