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.