Gate 0 E2E run log — 2026-07-15 (AWS production)¶
Gate 0.5 A1 — scripted pass on AWS ECS + RDS (first earn on production environment post–Jul-11 cutover).
| Field | Value |
|---|---|
| Date (UTC) | 2026-07-15T23:09:03Z – 23:09:15Z |
| Operator | Cursor agent (scripted harness) |
| Environment | AWS production — ECS lastvet-prod-api:6, RDS lastvet-prod-postgres, api.last.vet |
| API base | https://api.last.vet/api |
Veteran va_patient_id |
2000163 |
| Internal veteran ID | 7eba7aa3-db3b-4124-bf65-f300f1898139 |
| Recipient email (OTP) | ryan@last1.enterprises (SendGrid + harness log via SECURE_LINK_E2E_LOG_OTP → CloudWatch /ecs/lastvet-prod-api) |
| Harness | scripts/e2e-roi-gate0-full.sh (OTP from scripts/lib/fetch-e2e-otp-cloudwatch.sh) |
Steps¶
| Step | Result | Notes |
|---|---|---|
| 1. Find MH facility (San Diego) | ✅ PASS | node scripts/verify-facilities-sd.js — 11 facilities, 0 missing anchors |
| 2. Generate ROI (10-5345) | ✅ PASS | seed-roi-demo.sh prefill form: 10-5345 |
| 3. Sign + Part 2 scope | ✅ PASS | Synthetic PDF sign; demo seed path |
| 4. Create secure link | ✅ PASS | linkId: 7d38cb8f-5409-4948-a1a0-201aea8d20f9 |
| 5. Provider OTP verify | ✅ PASS | SendGrid email + CloudWatch harness log (secure_link_e2e_otp) |
| 6. PDF download | ✅ PASS | HTTP 200, 322 bytes, %PDF header |
| 7. Revoke link | ✅ PASS | DELETE /veteran/me/secure-links/{id} Bearer JWT |
| 8. Post-revoke blocked | ✅ PASS | {"error":"revoked"} |
Scripted harness output¶
scripts/e2e-roi-gate0-full.sh (AWS production)
Facilities: ok=true, resolvedCount=11, missingAnchors=[]
Seed:
internalVeteranId: 7eba7aa3-db3b-4124-bf65-f300f1898139
grant: e6f515dc-cad1-4998-8ba5-a3c4a860ba4b
loop: 1485f43e-e19c-46ef-9850-678f6ae62070
doc: 5e29a57b-3d45-457f-a006-45d2cd3bb4de
linkId: 7d38cb8f-5409-4948-a1a0-201aea8d20f9
url: https://provider.last.vet/r/gpZHAFz0GaVBWtEVI2BP-QP7lHq6-nk7IcZhNHvMSSU
E2E:
open → challengeId dae56874-7a06-42ab-bb8e-e53ee773cc66
verify-otp → viewSessionToken [redacted]
artifact → HTTP 200, 322 bytes, valid PDF
revoke → {"message":"Secure link revoked."}
post-revoke open → {"error":"revoked"}
Infra notes¶
- First run failed OTP fetch: ECS service was still on task definition
:5(noSECURE_LINK_E2E_LOG_OTPmount). Service updated tolastvet-prod-api:6+ rollout completed; second run passed. - RDS had 0 documents before seed; this run created the first production consent/ROI fixtures on AWS.
Human confirmation¶
- [x] Scripted pass on AWS Bearer JWT harness (this log)
- [x] Human pass on AWS — Ryan, TestFlight physical device, 2026-07-15,
api.last.vet(full Gate 0 loop confirmed) - [x] Run log committed to repo
Sign-off¶
Scripted + human Gate 0 loop earned on AWS production. Prior 2026-07-09 proof on Railway does not count post-cutover. Railway rollback net may be retired when ready.