fix(docs): correct sampling and restart-cost claims to match implementation

This commit is contained in:
pj committed 2026-06-06 23:29:27 +05:30
1 parent c9edd955d9
commit d76f3dee7e
2 files changed
+2 -2

No files matched your search

+1 -1
View File
@@ -36,7 +36,7 @@ By default the installed app stays in place between runs, so whatever the previo
sanderling does not restart the app every few steps. Restarting throws away two things. sanderling does not restart the app every few steps. Restarting throws away two things.
**Exploration history.** Action selection favors states the run has not seen. A restart resets that history and the explorer re-treads the same early screens. **Accumulated data.** Accounts created, items added, caches warmed, settings changed. Interesting bugs live in apps with history, and a restart wipes it.
**Deep app states.** Many bugs live in states that take many actions to reach: nested settings, a loaded cart, the screen after the third transaction. A 50-step path to "cart with 3 items" never happens if every run starts cold. **Deep app states.** Many bugs live in states that take many actions to reach: nested settings, a loaded cart, the screen after the third transaction. A 50-step path to "cart with 3 items" never happens if every run starts cold.
+1 -1
View File
@@ -317,7 +317,7 @@ Weights declare testing intent:
- `doubleTaps` gets explicit weight because rapid double submission is a failure mode these forms must survive. This is the line that flushes out the double-submit bug. - `doubleTaps` gets explicit weight because rapid double submission is a failure mode these forms must survive. This is the line that flushes out the double-submit bug.
- `defaultActions` keeps a quarter of the budget on random exploration, so the explorer still wanders everywhere and types edge-case values into every field. Without it, the spec only tests the flows you thought of, which defeats the point. - `defaultActions` keeps a quarter of the budget on random exploration, so the explorer still wanders everywhere and types edge-case values into every field. Without it, the spec only tests the flows you thought of, which defeats the point.
A generator that returns an empty list drops out of the sampling for that step, so weights only ever distribute across what is currently possible. When a sampled generator returns an empty list, the runner re-draws, up to 16 times per step. So weights state preference, and the step still lands on a generator that currently has something to offer.
## The finished spec ## The finished spec