Document final local verification evidence
This commit is contained in:
parent
c89dc78381
commit
02af8d88fa
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user