Document final local verification evidence

This commit is contained in:
SimpleTest 2026-07-25 18:09:06 +03:00
parent c89dc78381
commit 02af8d88fa
2 changed files with 104 additions and 1 deletions

View File

@ -5,6 +5,39 @@ pool size, or autoscaling threshold is known yet. The repository therefore
contains a reproducible measurement profile, not a capacity claim or blocking
resource preflight.
## Latest local candidate measurement
Observed on 2026-07-25 at application commit
`4f2ab7d205ad1e137b07a8365e30b7cf007e2a19` with 3 web and 2 worker
replicas, 40 public HTTP VUs, 40 Phoenix WebSocket VUs, and 8 authenticated
mutual-aid VUs for 30 seconds:
| Observation | Result |
| --- | ---: |
| HTTP requests / failures | 38,240 / 0 |
| Public checks | 34,866 / 34,866 passed |
| WebSocket opened / heartbeat replies | 240 / 240 |
| Authenticated chat/tracking iterations | 1,679 |
| Overall HTTP duration average / p95 / maximum | 2.90 / 7.28 / 184.51 ms |
| Authenticated HTTP duration average / p95 | 7.63 / 10.81 ms |
| WebSocket connect p95 | 4.76 ms |
| PostgreSQL commits / rollbacks | 141,740 / 0 |
| Peak client / active backends | 21 / 5 |
| Minimum observed connection headroom | 76 |
| Ecto queries / average total / average queue | 181,796 / 0.275 / 0.022 ms |
Ten sequential resource samples observed maximum memory of 312.4, 319.8, and
331.6 MiB across web replicas; 204.2 and 204.6 MiB across workers; 140.7 MiB
for PostgreSQL; and 323.1 MiB for the proxy. The sum of each container's
individual maximum was 1,836.4 MiB. PostgreSQL recorded no deadlock, conflict,
temporary file, or lock waiter, and exact fixture cleanup restored every
tracked application-table count.
These measurements describe this specific concurrent workstation replay. They
do not establish a minimum server size, production capacity, SLO, alert
threshold, database pool size, or autoscaling policy. Machine-readable evidence
is retained under `output/performance/final-4f2ab7d`.
## Kind port-table memory investigation
On 2026-07-20, the local kind control-plane container used 9.748 GiB while its

View File

@ -1,8 +1,78 @@
# Who Need Help — implementation verification
Observed through 2026-07-24 in the local workspace. This report separates observed
Observed through 2026-07-25 in the local workspace. This report separates observed
results from product limits and unknown production properties.
## Final local candidate verification on 2026-07-25
The web/backend candidate below is exact commit
`4f2ab7d205ad1e137b07a8365e30b7cf007e2a19`. A subsequent test-only Android
commit, `c89dc78`, updates the instrumentation path for the notification
settings panel; it does not change the deployed application. No push,
hackathon-test deployment, production deployment, Devpost edit, branch, or tag
was made.
- `./scripts/e2e-run.sh` passed all 45 scenarios in Chromium, Firefox, and
WebKit. The matrix covers public and authenticated mobile layouts,
localization, accessibility, registration and Google flows, request and
Activity lifecycles, map viewport discovery and clustering, private chat,
location privacy and tracking, notifications, moderation, and restart
recovery. Evidence is `output/e2e/20260725141107-815241`; its isolated
Compose resources were removed.
- `./scripts/test.sh` and the final `./scripts/quality.sh` both reported
387 passing ExUnit tests. The quality gate also passed ShellCheck, Hadolint
at the configured threshold, actionlint, Compose profile rendering,
Prometheus and Alertmanager validation, Helm lint, formatting,
warnings-as-errors compilation, xref, strict Credo, Sobelow, Dialyzer,
Hex/npm audits, release/rollback/migration drills, and tracked-source and
runtime-image scans. The configured vulnerability scans reported zero
findings, and the run-scoped quality resources were removed.
- The isolated 30-second load profile ran 40 public HTTP, 40 Phoenix
WebSocket, and 8 authenticated mutual-aid VUs against 3 web and 2 worker
replicas. All 38,240 HTTP requests and 34,866 checks passed, 240/240
heartbeat replies arrived, and 1,679 authenticated chat/tracking iterations
completed. Overall HTTP p95 was 7.28 ms, authenticated HTTP p95 was
10.81 ms, and WebSocket-connect p95 was 4.76 ms. These are workstation
observations, not production limits or minimum resource requirements.
- PostgreSQL recorded 141,740 committed and zero rolled-back transactions,
with no deadlock, conflict, temporary file, or lock waiter. It peaked at
21 client backends and 5 active backends with at least 76 observed
connection slots of headroom. The three web replicas recorded 181,796 Ecto
queries with 0.275 ms average total duration and 0.022 ms average pool queue
duration. Exact fixture cleanup restored every tracked table count.
- The peak sum of the seven isolated application/proxy/database container
samples was 1,836.4 MiB. Individual maxima were 331.6 MiB for a web replica,
204.6 MiB for a worker, 140.7 MiB for PostgreSQL, and 323.1 MiB for the
proxy. This measured concurrent profile is not a minimum-server claim.
Complete evidence is `output/performance/final-4f2ab7d`.
- The follow-up resilience drill recorded 1,084 readiness samples with zero
failures while restarting and replacing web and worker processes. The final
three-web/two-worker cluster passed cross-node PubSub, and an Oban probe
completed on its second configured attempt after one recorded failure.
Evidence is `output/resilience/final-4f2ab7d`; its isolated stack was
removed.
- A mode-`0600` custom-format development backup was created at
`output/backups/final/dev-20260725-142457-4f2ab7d.dump`; its SHA-256 is
`94747a728f06e9d2c4901ede1236ea0c02319c4b2174e1f52fbd326c9514bd9e`.
The restore drill observed 33 tables, 1,830 rows, all 19 migrations, and
PostGIS 3.6.4 in a temporary database, then removed that database without
changing source counts.
- The same backup passed a full release upgrade rehearsal: all 19 migration
versions and 11 required cursor indexes matched, the application-table diff
was empty, two web and two worker replicas formed a four-node cluster, and
PubSub plus HTTP checks passed. Evidence is
`output/upgrade-rehearsal/20260725142518-1260191`; every run-scoped
container, network, volume, and image was removed.
- A connected physical Android device (`23122PCD1G`) passed the final
development cross-client flow. Instrumentation reported `OK (1 test)` in
16.386 seconds; Android and Chromium exchanged one private message in each
direction, the browser observed the live-location marker, FCM delivery
completed, the foreground service stopped, and the database retained zero
active tracking sessions and zero current positions. Exact fixture cleanup
removed two synthetic users, their request, assignment, two messages, push
jobs, and tracking session with a zero-byte database-count diff. Evidence is
`output/android-physical-final/physical-final-20260725145850-1557566`.
## Goal-completion replay on 2026-07-24
These observations apply to exact local commit