diff --git a/docs/verification.md b/docs/verification.md index 0662992..31caf9b 100644 --- a/docs/verification.md +++ b/docs/verification.md @@ -269,6 +269,38 @@ Before the runtime image change, every BEAM container logged that application warning appeared in the post-rollout web/worker logs checked during this verification window. +## Final full-stack regression + +After isolating the load-test Compose project from staging, the complete +regression was repeated against the final source on 2026-07-18: + +- `./scripts/test.sh` rebuilt the test image and passed all 149 Phoenix tests; + `mix format --check-formatted` and `mix compile --warnings-as-errors` also + passed. +- The staging and load-test Compose configurations both rendered successfully. + Helm 4.2.3 lint and template rendering passed with the checked-in kind values. +- The public root, `/healthz/live`, and `/healthz/ready` returned HTTP 200. + The two health responses were served by different web nodes during the + observation. The four-node web/worker cluster also passed the cross-node + Phoenix PubSub probe. +- Headed Chrome loaded the public home and Safety pages, including all + fingerprinted assets, and redirected an anonymous `/requests` visit to login + with the expected flash. The browser reported zero console errors and zero + warnings. Existing browser windows were left open. +- Both Android Docker builds repeated their unit-test, lint, and APK assembly + stages. The debug and staging artifacts retained the documented SHA-256 + hashes, and both lint reports had no nonzero error or warning summary. + `apksigner` verified the staging APK's v2 generic debug signature; `aapt` + confirmed package `org.whoneedhelp.mobile.staging`, SDK 24 through 37, + disabled cleartext, and the exact HTTPS staging host. +- The protected metrics endpoint returned HTTP 401 without a token and valid + Prometheus text with the generated ignored token. The checked 15-minute + web/worker/proxy log window contained no application error, warning, or SCTP + finding. +- The staging database remained at 2 users, 1 help request, 1 assignment, 7 + messages, 14 categories, 4 ended tracking sessions, 0 active tracking + sessions, 0 activities, 0 reports, and 0 social identities. + ## Known work before a public production launch - Replace the temporary staging origin with the production-owned domain and