Appearance
YY.M.P — Test evidence
Evidence is what was observed, not what was expected. A gate output, a query result, a device screenshot. "Should work" is not evidence.
Automated gates
| Gate | Result | Run |
|---|---|---|
lint / format:check / type-check | ||
test (jest-expo + node --test) | ||
e2e (web bundle only) | ||
check:parity · check:sql · check:readmes | ||
check:env-drift · check:fn-config · check:release |
Cross-platform parity
All three surfaces, every release. There is no exception field — parity is unconditional.
| Surface | Build | Verified | Evidence |
|---|---|---|---|
| Android native | |||
| iOS native | |||
| Web PWA |
Interaction states (pressed/focus/disabled/loading, touch targets, ripple/scale/haptics) are checked per surface — that is where parity historically breaks (QRS-203 web-vs-native, QRS-207 Android-only).
Change-record evidence
One anchor per CR. Console-only classes require a live functional probe.
CR-YY.M.P-01
- What was run:
- Observed:
Device verification
Never trust a device result without proving the device runs your code: check pm dump <pkg> | grep lastUpdateTime and confirm Metro logged a bundle build (see CLAUDE.md).