Agents explore, tests remember
“run up to 50 agent users using luna:max and have them click through various scenarios. chaos testing. go nuts, fix all the bad stuff”¶
real engineering¶
@joelhooks And when those agents find good reproduction steps for a bug, convert that into playwright tests.¶
Agent users click through scenarios and find failures. A good reproduction becomes a repeatable Playwright regression test that repeats the actions and checks their result.¶
rat-stack has yet to build this fifty-agent exploration and Playwright workflow.¶
For executable Effect tests, read tests through supplied services22.¶
Rat-stack’s reading
We connect the proposal to three practices:¶
- Model-based testing14 generates sequences of actions and checks the system against a model. Agent users can propose action sequences for exploration. Model-based testing14 also needs a model and assertions.¶
- Property-based testing18 shrinks a failure to a small counterexample. Keep the smallest useful failing case from exploration, rather than every step the agent happened to take.¶
- The fence39 puts a correction into an enforceable check. A reproduced mistake earns a test when it exposes a genuine behavior gap. Tests that only check the shape of a fix add no such coverage. See tests that earn their place22.¶
A human-driven example
A human-driven signup check found a five-second application-submission timeout and a confirmation email’s /confirm link returning 404. A person found both failures. The resulting checks use Effect tests.¶
Commit 222edd8 raised the timeout to twenty seconds and made timeout request an immediate retry.¶
- The intake test uses
TestClockand a hanging fake HTTP client to check the retry outcome.¶ - The route test checks that GET and POST to
/confirmreturn 308. It also checks that the GET redirect preserves the token query.¶
These checks can run without repeating the live check.¶
Sources
- joel ⛈️ on X: ""run up to 50 agent users using luna:max and have them click through various scenarios. chaos testing. go nuts, fix all the bad stuff" real engineering" / X. Joel Hooks. Exploration proposal; used for agents clicking through scenarios to find failures. Accessed 2026-10-01.
- André Staltz on X: "@joelhooks And when those agents find good reproduction steps for a bug, convert that into playwright tests." / X. André Staltz. Reply; used for converting good reproductions into repeatable tests. Accessed 2026-10-01.
- Commit 222edd8. GitHub joelhooks/rat-stack. Signup fix; used for the human-driven timeout and confirmation-route example. Accessed 2026-10-01.
Last changed 2026-10-07 in e73c9d9. Source on GitHub. Change log.
Linked from
- Agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
Agents explore, tests remember — Let agent users explore scenarios; turn a good bug reproduction into a repeatable test.
- Change log. What changed in the files served here, newest first.
Agents explore, tests remember — edited: feat(learn): teach the next twenty cards with plain lines, diagrams and snippets
- Code snippets quote a pinned source. Shipped design brief: pinned Git objects, typed diagnostics, and one build-only snippet model for both views.
Agents explore, tests remember connects exploration with repeatable behavior checks.¶
- Full agent guide. An Effect stack so pure (aspirational) Kit Langton will blush.
- Rat Stack lore | rat-stack. Short, source-grounded notes on the ideas and decisions behind rat-stack.
Agents explore, tests remember — Let agent users explore scenarios; turn a good bug reproduction into a repeatable test.
- Source change history (log.md). The generated change log as Markdown.
Agents explore, tests remember — edited: feat(learn): teach the next twenty cards with plain lines, diagrams and snippets
- Tests prove behavior through supplied services. Supply services through Layers, choose properties or models for domain rules, and reject tests that cannot detect broken behavior.
Agents explore, tests remember explains how exploration can expose a behavior gap worth making repeatable.¶