The scenario
Readable on top, precise underneath
Every step carries a plain-English intent.
Inside it sit the exact DSL calls — one step can be several. The agent
knows what a step means and how it runs, so it repairs only the broken part.
function test_login() { step("Submit the sign-in form", () => { fill(getByLabel("Email"), EMAIL); fill(getByLabel("Password"), PASSWORD); click(getByRole("button", { name: "Continue" })); }); }