Status: PENDING
Use this template only after Play Console and live-provider checks run. Keep evidence redacted and paste only command names, exit codes, pass/fail summaries, Play Console screen names, version identifiers, and non-secret artifact fingerprints. Do not commit passwords, Supabase JWTs, auth tokens, provider keys, upload keystore passwords, private emails, request text, transcripts, generated audio URLs, or screenshots containing private content.
Until the live smoke command passes with real deployed services, keep this marker:
NO_LIVE_SUCCESS_CLAIMED
python3 scripts/generate_android_play_release_evidence_snapshot.py to create a redacted helper snapshot in /private/tmp; do not treat blocked rows as complete proof.PENDING, Android is not ready for production Play promotion.| Evidence item | Status | Redacted proof to fill after execution |
|---|---|---|
| Upload-key signed AAB built | PENDING | Command: ./gradlew bundleReleaseArtifact; Verify: python3 scripts/verify_android_release_bundle.py --require-signed android/app/build/outputs/bundle/release/app-release.aab; Expected package/version: com.speaktrue.app / 1.2 / 15; Exit code: [fill]; Artifact: android/app/build/outputs/bundle/release/app-release.aab; SHA-256: [fill]; Signing verification summary: [fill no password]; 64-bit ABI summary: [fill]; 16 KB page-size summary: [fill] |
| Internal testing upload | PENDING | Play Console track: internal testing; Package: com.speaktrue.app; Version name/code: 1.2 / 15; Upload result: [fill] |
| Store listing completed | PENDING | Source copy: docs/ops/ANDROID_PLAY_STORE_LISTING.md; Privacy URL: https://haddadios.github.io/SpeakTrue/privacy-policy; Terms URL: https://haddadios.github.io/SpeakTrue/terms-of-use; Command: python3 scripts/verify_android_play_assets.py; Icon and feature graphic result: [fill]; App name: SpeakTrue; Short/full description length check: [fill]; Contact email replaced in Console: [yes/no, no address] |
| Android screenshots captured | PENDING | Command: bash android/scripts/capture-play-screenshots.sh; Verify: python3 scripts/verify_android_play_screenshots.py /private/tmp/speaktrue-android-play-screenshots --labels tts,stt,sts,soundboard,voice-clone,settings; Source build: signed/internal-test Android build; Screens: TTS, STT, STS, Soundboard, Voice Clone, Settings; Format/size summary: [JPEG or 24-bit PNG, max 8MB, no private content]; Asset storage location: [external/sanitized path only] |
| Android full unit test suite passed | PENDING | Command: ./android/gradlew -p android :app:testDebugUnitTest; Exit code: [fill]; Summary: [fill redacted pass/fail]; Report path: android/app/build/reports/tests/testDebugUnitTest/index.html |
| Android lint passed | PENDING | Command: ./android/gradlew -p android :app:lintDebug; Exit code: [fill]; Summary: [fill redacted pass/fail]; Report path: android/app/build/reports/lint-results-debug.html |
| Android emulator smoke passed | PENDING | Command: bash android/scripts/run-instrumented-smoke.sh; Device: [fill redacted device/emulator name]; Exit code: [fill]; Summary: [fill redacted pass/fail]; Report path: android/app/build/reports/androidTests/connected/debug/index.html |
| App content and Data safety completed | PENDING | Data safety source: docs/privacy-policy.md and docs/ops/ANDROID_PLAY_RELEASE_CHECKLIST.md; Tracking answer: no tracking; Completion result: [fill] |
| Account deletion web link configured | PENDING | URL: https://haddadios.github.io/SpeakTrue/account-deletion; Verify: python3 scripts/verify_android_play_policy_urls.py --live; Play Console data deletion field result: [fill] |
| App access instructions configured | PENDING | Source text: docs/ops/ANDROID_PLAY_RELEASE_CHECKLIST.md; Disposable account configured in Play Console: [yes/no, no credentials] |
| IAP/subscription declarations disabled | PENDING | Console result: no subscriptions or in-app products enabled for Android free/open-access baseline |
| Live provider/storage smoke passed | PENDING | Command: python3 scripts/verify_android_play_release_smoke.py; Exit code: [fill]; Summary: [fill redacted pass/fail] |
| Android release blocker report clear | PENDING | Command: python3 scripts/verify_android_play_release_blockers.py --include-live-policy; Exit code: [fill]; Summary: [fill redacted pass/fail] |
Only replace NO_LIVE_SUCCESS_CLAIMED with LIVE_SMOKE_PASSED_REDACTED after python3 scripts/verify_android_play_release_smoke.py runs against deployed Supabase/ElevenLabs/storage with a disposable account and exits successfully without unsafe output.
After every row is filled and marked COMPLETE, run:
python3 scripts/verify_android_play_release_evidence.py --require-complete docs/ops/ANDROID_PLAY_RELEASE_EVIDENCE_TEMPLATE.md
This strict mode must fail while any PENDING, placeholder, or NO_LIVE_SUCCESS_CLAIMED marker remains.