Skip to main content

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

ChecklistScope
retail-portal.mdRetail merchant portal and merchant-api user-facing workflows
support-portal.mdSupport portal and management-api workflows
landing-and-redirect.mdMarketing site lead intake and peakpos.co redirect behavior
terminal-onboarding.mdTerminal provisioning, local CA, mTLS, terminal identity
android-pos.mdAndroid POS terminal host workflows
ios-pos.mdPeak POS iOS workflows
peak-mobile.mdPeak Mobile Android/iOS workflows
kitchen-display.mdKitchen API, KDS station, ticket, and SSE workflows
integrations.mdGateway and third-party integration workflows
notifications.mdIn-app, email, SMS, receipt, and operator notification workflows
infra-staging.mdCloud/staging infrastructure evidence
security-compliance.mdIAM, App Check, mTLS, PCI redaction, audit, and auth evidence
mobile-release-evidence.mdAndroid/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