Adopt settled-reach's Q&D record convention. Confirmed decisions live under decisions/<domain>.md as D-NNN; open questions under questions-<domain>.md as Q-NNN; rejected alternatives in rejected.md as R-NNN. Markdown is source of truth; .pql/pql.db (added later) is a query index. Backlog captured from the Tier-0 Flutter planning sessions: bare WidgetsApp, theme pipeline, kernel admission rule, feature-first layout, a11y + i18n as Tier-0 contracts, test pyramid, kanban over Scrum, pql-owns-planning, Python stopgap sunset clause. ADR migration (D-001, D-003-D-006 confirmed, R-002 rejected) is staged for the next commit so the diff stays readable. Co-Authored-By: Claude <noreply@anthropic.com>
947 B
947 B
Open Questions — Testing
Q-011: Coverage gates — hard thresholds vs soft reporting
- Status: Open
- Question:
ci/test_coverage.shemits lcov + a summary. Do we gate merges on a hard threshold (fail < 80%), report softly, or tier per directory (kernel > 90%, built-ins > 70%, widgets covered by goldens exempt)? - Context: Hard thresholds force tests-for-coverage-sake; soft reporting gets ignored.
- Source: 2026-04-21 planning.
Q-012: Screen-reader automation (axe-core via Playwright)
- Status: Open
- Question: D-022 gates contrast at build time. Do we also run axe-core against the WASM build in Playwright for runtime a11y issues (missing labels, invalid roles, orphan focusables)?
- Context: axe-core is JS; runs in the browser against the rendered tree. Extra CI time; extra signal.
- Source: 2026-04-21 planning.