# Pilot Execution Checklist ## Environment - [ ] `npm run deploy:check-env` passes with production/staging env. - [ ] `npm run db:migrate` is idempotent. - [ ] `npm audit` reports 0 vulnerabilities. - [ ] `EXPORT_STORAGE_DIR` is writable and backed up. - [ ] `EXPORT_STORAGE_READINESS.md` reviewed for single-node/multi-node deployment mode. - [ ] `LOG_FORMAT=json` logs are collected. ## UI QA - [ ] `npm run ui:qa` passes. - [ ] Admin dashboard opens on desktop and mobile. - [ ] Settlement batch page: list, detail drawer, export, permission states. - [ ] Reconciliation page: filters, async export status/history/download. - [ ] Merchant settlement page: login session display, logout, export. - [ ] Device technical detail: health/config/credential modal. ## MQTT Pilot Device - [ ] `npm run mqtt:check-acl -- --file /etc/mosquitto/acl` passes. - [ ] Device A and B credentials exist in broker passwd. - [ ] `npm run smoke:mqtt-acl` passes. - [ ] `npm run smoke:mqtt-real` passes. - [ ] Physical device receives payment success downlink. - [ ] Physical device receives config push and sends ACK. ## Backup/Restore - [ ] `npm run backup:production -- --out --include-mosquitto` succeeds. - [ ] Backup copied to secure storage. - [ ] `npm run restore:plan -- --backup ` reviewed. - [ ] Restore drill on disposable database succeeds. - [ ] `npm run restore:validate` passes against restored service. ## Load/Staging Baseline - [ ] `BASE_URL= npm run load:test:staging` succeeds. - [ ] Report stored in `reports/`. - [ ] p95 and error count recorded in handoff/release notes. - [ ] Export worker metrics checked in `/admin/observability/summary`. ## Go/No-Go - [ ] No critical failed notifications. - [ ] No settlement reconciliation mismatch unexplained. - [ ] No unexpected login failure spike. - [ ] Rollback release artifact is available. - [ ] Operator has access to `OPERATIONAL_RUNBOOK.md`.