# Release pass — build 42

## Fixes from last round (FIX)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| FIX-01 | Every issue marked fixed is checked again | The list of issues closed since the last release | 1. Reproduce the original report step by step. | The original steps no longer produce the bug, on the platform it was reported on. | | | |
| FIX-02 | The fix did not break its neighbours | As above | 1. Use the screen around each fix. | Nothing next to the fix has changed behaviour. | | | |

## What changed (CHG)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| CHG-01 | The new feature, happy path | Whatever the feature needs | 1. Use it the way it was designed. | It does what the release notes claim. | | | |
| CHG-02 | The new feature, refused path | As above | 1. Deny it what it needs — permission, network, an empty state. | It fails clearly, without losing the user's work. | | | |
| CHG-03 | The screen the change sits on | The changed screen | 1. Use the rest of that screen. | Everything else on it still works. | | | |

## Never ship broken (CORE)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| CORE-01 | Sign up | No account | 1. Create an account end to end. | Account created, verification arrives, app opens. | | | |
| CORE-02 | Sign in and sign out | An existing account | 1. Sign in. 2. Sign out. | Both work; sign-out clears the session. | | | |
| CORE-03 | Password reset | An existing account | 1. Run the reset flow to a new password. | The new password works, the old one does not. | | | |
| CORE-04 | The one thing the app is for | Signed in | 1. Complete the main journey end to end. | It completes, with the result the user expects. | | | |
| CORE-05 | Take a payment | A card on file | 1. Pay for something real. | Payment succeeds, receipt matches, nothing is charged twice. | | | |
| CORE-06 | Upgrade over the previous build | Previous version installed, signed in | 1. Install this build over it. | Still signed in, data intact, no re-onboarding. | N/A | | |

## Before you press publish (SHIP)

| ID | Journey | Preconditions | Steps | Expected result | WEB | AND | IOS |
|---|---|---|---|---|---|---|---|
| SHIP-01 | Build number and version raised | The build under test | 1. Check the version in the app and the store listing. | Both raised from the last release. | | | |
| SHIP-02 | Crash reporting reaches the dashboard | The build under test | 1. Trigger a test crash. | It appears in the dashboard within minutes, with a readable stack. | | | |
| SHIP-03 | Emails go out, and not to spam | A test address | 1. Trigger the verification and reset emails. | Both arrive, in the inbox, with working links. | | | |
| SHIP-04 | Links in the app work | The build under test | 1. Tap privacy, terms and support links. | Each opens the right page. | | | |
| SHIP-05 | Rollback plan exists | The previous build | 1. Confirm the previous build can be restored. | Someone knows how, and it is written down. | | | |
