The breaks-it list
Check 01, as a file. Keep it in the repo, add a line every time something surprises you, and never delete a row. This is the artifact the whole first section is about.
# What breaks it One row per way a real person can produce a wrong answer instead of an error. Add to it every time something surprises you. Never delete. | # | What someone does | What happens now | Handled? | Test | |---|-------------------|------------------|----------|------| | 1 | Leaves the box empty | | no | | | 2 | Pastes 4,000 words | | no | | | 3 | Writes it the other way (+61 / 04) | | no | | | 4 | Says a word the model has not heard | | no | | | 5 | Types instructions at the app | | no | | | 6 | Double-taps the button | | no | | | 7 | Hits it when it is slow | | no | | | 8 | Gets an empty response back | | no | | | 9 | Gets JSON in a code fence | | no | | | 10 | Is in a different timezone | | no | | | 11 | Sends two events out of order | | no | | | 12 | Tries to read another account | | no | | Rule: a row is only "yes" when there is a test in the Test column. "I checked once by hand" is not a yes.