STW‑001
THE OFFLINE CONTRACT
Five clauses. Non‑negotiable. Each one testable.
-
C1 Cold launch with all radios off renders the local library from disk.
Zero network calls on the launch path. No auth check, no reachability probe, no remote config, no first‑run experience fetched from anywhere. First run works in airplane mode, showing an empty library and a connect affordance.
-
C2 Local playback never requires a live session.
Backgrounding, force‑quit, device restart and token expiry must not affect playback of downloaded files. Credentials gate acquiring content. Never playing it.
-
C3 Downloads are plain files.
Stored in a Files‑app‑visible directory, named legibly, playable by anything else if Stowaway is deleted tomorrow. No proprietary packaging. No DRM.
-
C4 Diagnostics reachable from a dead app.
Logs are plain text in the same visible storage. If the app cannot boot, the logs are still retrievable.
-
C5 C1 is a release gate.
An automated launch test, network layer stubbed to hard‑fail, asserts the library screen renders. Red test, no build ships.
Countersigned by continuous integration — the airplane test, run on every build. Red test, no build ships.