Local And Staging QA Checklists
These checklists are the manual side of the local testing system. Start with the canonical local runner, then use the lane checklists for flows that still need human judgment, staging resources, provider consoles, or physical devices.
Standard Evidence Header
Every completed checklist run should record:
- Date:
- Tester:
- Branch:
- Commit SHA:
- Local test report path:
- Staging environment:
- Device/browser matrix:
- Credentialed users used:
- Skipped checks and reason:
- Blocking defects found:
Canonical Local Commands
./scripts/test-local.sh doctor
./scripts/test-local.sh quick
./scripts/test-local.sh contracts
./scripts/test-local.sh local
./scripts/test-local.sh no-heavy
./scripts/test-local.sh full
./scripts/test-local.sh external-gates
For PR QA that needs a running browser/API stack, use the unified local validation runtime:
./scripts/local-validation.sh up
./scripts/local-validation.sh smoke all
./scripts/local-validation.sh rebuild merchant-api
./scripts/local-validation.sh ports
doctor is the workstation and credential check. If Gateway Maven artifacts
return 401 or 403, run:
source scripts/gateway-maven-credentials.sh
That helper can use explicit env credentials or the authenticated Google Cloud CLI. Android emulator execution is external from WSL unless a Windows emulator or ADB bridge is reachable. Mac/Xcode checks are external-only on this host.
Supporting QA Docs
../preflight.md: local workstation prerequisite and endpoint guard../seed-registry.md: stable local seed IDs and verifier contract../backend-checklist-depth.md: backend/API manual checklist behavior-depth guard../staging-checklist-depth.md: staging/release checklist behavior-depth guard../route-coverage.md: OpenAPI route-family and consumer-wiring coverage../web-route-coverage.md: website route/page-to-checklist coverage guard../web-checklist-depth.md: website route checklist state-obligation guard../web-e2e-coverage.md: website route/page-to-automated-test coverage guard../web-e2e-depth.md: website route/page behavior-automation depth guard../service-controller-coverage.md: microservice controller-to-test evidence guard../service-behavior-coverage.md: microservice controller behavior-test evidence guard../mobile-checklist-coverage.md: mobile source surface-to-checklist coverage guard../mobile-checklist-depth.md: mobile checklist behavior-obligation guard../command-surface.md: local testing launcher/docs/evidence-summary drift guard../docs-index.md: QA docs and checklist discoverability guard../docs-build-render.md: docs build/render, MDX, sidebar, and image drift checklist../android-local-qa.md: WSL build to Windows emulator APK handoff workflow../hardware-smoke-runbook.md: connected-device hardware/manual smoke plan (Monday needs-testing items mapped to physical devices)../provider-stubs.md: local Gateway/image provider stub contract and scenarios../notification-capture.md: local notification/email/SMS/receipt capture sink../integration-provider-stub.md: local OAuth/webhook provider stub../image-store-stub.md: local product image object-store stub../cloud-status-stub.md: local Cloud Run/Admin service-state stub../security-token-harness.md: local App Check and internal-auth token harness../internal-auth-wiring.md: service-local internal endpoint auth wiring guard../pci-redaction-audit.md: local QA artifact PCI redaction audit../evidence-summary.md: local QA report aggregation and handoff summary../merge-batch-2026-06-18.md: June 2026 merge-batch QA plan and segment order../mkonnekt-staging-smoke.md: mKonnekt/SkanData staging smoke path and evidence notes../p0-p1-local-validation-2026-06-20.md: P0/P1 Current Changes Tracker local validation run notes../terminal-mtls-local.md: local terminal CA, cert, and nginx mTLS proxy workflow../simulator-local-qa.md: simulator dashboard/API/SSE and MCP local QA lane
Checklist Index
| Checklist | Scope |
|---|---|
retail-portal.md | Retail merchant portal and merchant-api user-facing workflows |
support-portal.md | Support portal and management-api workflows |
landing-and-redirect.md | Marketing site lead intake and peakpos.co redirect behavior |
terminal-onboarding.md | Terminal provisioning, local CA, mTLS, terminal identity |
android-pos.md | Android POS terminal host workflows |
ios-pos.md | Peak POS iOS workflows |
peak-mobile.md | Peak Mobile Android/iOS workflows |
kitchen-display.md | Kitchen API, KDS station, ticket, and SSE workflows |
integrations.md | Gateway and third-party integration workflows |
notifications.md | In-app, email, SMS, receipt, and operator notification workflows |
infra-staging.md | Cloud/staging infrastructure evidence |
security-compliance.md | IAM, App Check, mTLS, PCI redaction, audit, and auth evidence |
mobile-release-evidence.md | Android/iOS release artifact and store evidence |
Retained Lower-Level Guards
The canonical runner calls the common batteries. For focused debugging, these lower-level checks remain useful:
./scripts/local-validation/qa.sh test route-coverage
./scripts/local-validation/qa.sh test web-route-coverage
./scripts/local-validation/qa.sh test docs-index
./scripts/local-validation/qa.sh test docs-render
./scripts/local-validation/qa.sh test local-proxy-contract
./scripts/local-validation/qa.sh test contracts
./scripts/local-validation/qa.sh test external-gates