Skip to main content

Local QA Evidence Summary

Script: scripts/qa/aggregate_reports.py

The evidence summary command collects the latest focused QA Markdown reports into one handoff index. It does not rerun tests. The canonical local runner is:

./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

The running-stack PR QA path is:

./scripts/local-validation.sh up
./scripts/local-validation.sh smoke all
./scripts/local-validation.sh rebuild merchant-api
./scripts/local-validation.sh ports

For focused lower-level report aggregation, use:

./scripts/local-validation/qa.sh report

Strict mode keeps the historical 4-hour freshness threshold and fails if any latest retained report is failing, missing, unknown, or stale:

./scripts/local-validation/qa.sh report --strict

Retained Report Groups

The aggregator currently tracks preflight, checklist structure/depth, route and web coverage guards, service controller/behavior guards, mobile checklist guards, seed-pack proof, command-surface/doc checks, local proxy and contract drift, simulator QA, local seed verification, security token/internal auth wiring, provider/capture stubs, terminal mTLS material, smoke reports, PCI redaction, and external gate availability.

The old coverage matrix, obligation ledger, findings ledger, manual-run ledger, and generated inventory reports are retired and are not part of the canonical local testing gate.

External Gates

./scripts/test-local.sh external-gates refreshes externally gated blocker evidence for Android device reachability, provider sandbox inputs, redirect public/staging availability, and Mac/Xcode XCFramework host availability. A PASS means the probes ran and recorded current availability; it does not mean the external gates are open. The generated lower-level report includes an unlock playbook with blocker classes, exact rerun commands, required env/device/staging or Mac state, and completion evidence still needed.

Use that external gate unlock playbook to decide which missing credentials, devices, staging URLs, provider consoles, or Mac/Xcode host state are needed for the next deepest proof.

Android emulator execution is external from WSL unless a Windows emulator or ADB bridge is already reachable. Mac/Xcode checks are external-only on this host.