3.3 KiB
Test Strategy
Scope
The risk-based completion boundary for audit C06 (2026-09-09), agreed on
2026-09-17, is regression coverage of important workflows, not elimination of
every source-text assertion. Beads task sokko-g-zsd tracks acceptance and status.
This document is a coverage reference, not a separate task backlog.
An inventory found 350 match / doesNotMatch calls across the static app,
toolbox and style tests before the final batch. This counts assertion calls,
not bugs, missing scenarios or a percentage of work remaining.
Coverage Boundary
| Risk | Behavioral coverage |
|---|---|
| Data loss, startup failure, deferred media | e2e/persistence.spec.js, storage-startup.spec.js, deferred-media.spec.js; Node persistence queue and image action tests |
| React lifecycle, shared editing and navigation | e2e/editor-lifecycle.spec.js, inline-edit.spec.js, form-reorder.spec.js, shell-behavior.spec.js, session-state.spec.js |
| Shared reorder policy and module order | e2e/grouped-reorder.spec.js, module-order.spec.js |
| Toolbox creation, import/export, text exchange | e2e/toolbox.spec.js, text-exchange.spec.js; Node toolbox module tests |
| Links: creation, copy, category removal preserving links, deletion and reload | e2e/basic-tools.spec.js |
| Counters: creation, signed values, reset, deletion and reload | e2e/basic-tools.spec.js |
| Checklist: quantities, clamping, completed item/category visibility and persistence | e2e/basic-tools.spec.js |
| Images: gallery, detail navigation, keyboard controls and focus restoration | e2e/basic-tools.spec.js |
| Guide checklists: persistent association, page controls, drawer scope and live completion | e2e/guide-checklist.spec.js |
| Planner: editing, recurrence, prerequisites, subtree reorder and persistence | e2e/task-planner.spec.js |
| Representative visual states and responsive layouts | e2e/style-layouts.spec.js, tool-style-states.spec.js, card-surfaces.spec.js, nds-controls.spec.js, nds-patterns.spec.js |
| Production onboarding | e2e/production/onboarding.spec.js |
These suites cover selected risks, not every permutation of every tool. Public formats, product vocabulary, editorial validation, security restrictions and deliberate architecture constraints retain static or pure-function tests. Implementation-name assertions can be replaced when their owning code changes; their mere presence is not a functional defect.
Optional Extensions
Exhaustive advanced tool variants (calendar recurrence operations, goal graph combinations, equipment and combo permutations), every text-exchange UI adapter, fine calculator geometry and wholesale conversion of remaining implementation assertions are outside this closure boundary. They are candidates when related features change or a concrete regression demonstrates missing coverage, not automatic follow-on batches required to finish this audit.
Validation
Run targeted tests while implementing a grouped change, then npm run check:full
as the final gate: lint, Node tests, build, development E2E and production E2E.
Review the diff and report actual failures or limits before closing the task.
Do not introduce visual snapshots solely to prove that a page loads.
Keep detailed command logs outside tracked source and report concise results.