# Checks for an app an AI wrote

## Inventory: what was actually built (INV)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| INV-01 | Every screen in the code is reachable | The list of routes or screens from the code | 1. Open each screen from the app's own navigation, not by URL. | Every screen can be reached, and none is a dead end. | | | |
| INV-02 | Every button does something | Each screen open | 1. Tap every button, link and menu item. | Each one does what its label says. No silent taps, no placeholder pages. | | | |
| INV-03 | Every form saves | Each form in the app | 1. Fill it in. 2. Save. 3. Reload. | The saved values are still there after a reload. | | | |
| INV-04 | What the AI said it built is there | The AI's own summary of the change | 1. Check each item it claims, one by one. | Each claimed feature works on screen, not just in the code. | | | |

## The paths it did not think of (EDGE)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| EDGE-01 | Wrong or empty input | Any form | 1. Submit it empty. 2. Submit wrong formats and very long text. | A clear message beside the field. Nothing saved half-way. | | | |
| EDGE-02 | An empty account | A brand-new account with no data | 1. Open every list and dashboard. | Each one says what to do next instead of breaking or showing nothing. | | | |
| EDGE-03 | Going the wrong way round | Signed in | 1. Use Back mid-flow. 2. Refresh mid-flow. 3. Open the same flow in two tabs. | No duplicate records, no lost data, no stuck screens. | | | |
| EDGE-04 | Tapping twice | A Save or Pay button | 1. Tap it twice quickly. | It happens once. | | | |
| EDGE-05 | A slow or dropped network | Network throttled, then cut | 1. Repeat the main journey. | A loading state, then a clear error. It recovers when the network returns. | | | |
| EDGE-06 | The other role | Two accounts with different roles | 1. As the lesser role, open the admin screens and actions by URL. | Refused, on the server as well as in the menu. | | | |

## The fix and what is next to it (FIX)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| FIX-01 | The reported bug is gone | The original issue's steps | 1. Repeat the steps exactly, on the platform it was reported on. | It no longer happens. | | | |
| FIX-02 | Every platform got the fix | A fix in shared code | 1. Repeat the steps on each platform. | Fixed everywhere, not only where it was reported. | | | |
| FIX-03 | Nothing next to it broke | The screens around the fix | 1. Use the rest of the changed screen and the screens that read the same data. | They behave as before the fix. | | | |
| FIX-04 | The paths that must never break | Signed out | 1. Sign up, sign in, reset a password, do the main journey. | All of them still work. | | | |
