3.7 KiB
3.7 KiB
| phase | slug | status | nyquist_compliant | wave_0_complete | created |
|---|---|---|---|---|---|
| 6 | page-geometry-and-interaction-hit-layer | draft | true | false | 2026-05-22 |
Phase 6 — Validation Strategy
Per-phase validation contract for page geometry and selection overlay work.
Test Infrastructure
| Property | Value |
|---|---|
| Framework | none — simulator build/run and manual UAT |
| Config file | none |
| Quick run command | xcodebuild -workspace ReadViewDemo/ReadViewDemo.xcworkspace -scheme ReadViewDemo -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 17' build |
| Full suite command | xcodebuild -workspace ReadViewDemo/ReadViewDemo.xcworkspace -scheme ReadViewDemo -configuration Debug -destination 'platform=iOS Simulator,name=iPhone 17' build && build_run_sim |
| Estimated runtime | ~180 seconds |
Sampling Rate
- After every task commit: run the quick build command.
- After every plan wave: run the full simulator build/run path and confirm reader startup.
- Before execution handoff: confirm the selection overlay and offset preservation checks below.
- Max feedback latency: 180 seconds.
Per-Task Verification Map
| Task ID | Plan | Wave | Requirement | Threat Ref | Secure Behavior | Test Type | Automated Command | File Exists | Status |
|---|---|---|---|---|---|---|---|---|---|
| 06-01-01 | 06-01 | 1 | LAYOUT-01 | — | N/A | build | xcodebuild ... build |
✅ | ⬜ pending |
| 06-01-02 | 06-01 | 1 | LAYOUT-03 | — | N/A | build | xcodebuild ... build |
✅ | ⬜ pending |
| 06-02-01 | 06-02 | 2 | LAYOUT-02 | — | N/A | simulator | build_run_sim |
✅ | ⬜ pending |
| 06-02-02 | 06-02 | 2 | LAYOUT-03 | — | N/A | simulator | build_run_sim |
✅ | ⬜ pending |
| 06-03-01 | 06-03 | 3 | LAYOUT-01 | — | N/A | manual | simulator inspection | ✅ | ⬜ pending |
| 06-03-02 | 06-03 | 3 | LAYOUT-02 | — | N/A | manual | simulator inspection | ✅ | ⬜ pending |
| 06-03-03 | 06-03 | 3 | LAYOUT-03 | — | N/A | manual | simulator inspection | ✅ | ⬜ pending |
Status: ⬜ pending · ✅ green · ❌ red · ⚠️ flaky
Wave 0 Requirements
- Existing build path covers the phase requirements; no new test target is required.
- Manual checks must be available in the demo app using the native text sample books.
Manual-Only Verifications
| Behavior | Requirement | Why Manual | Test Instructions |
|---|---|---|---|
| Selection overlay appears and tracks the selected text range | LAYOUT-02 | Overlay geometry is visible behavior, not a source-only assertion | Open a native text sample, select text, verify overlay bounds follow the selected text and not the default UITextView selection chrome |
Selection still serializes through RDEPUBTextOffsetRangeInfo |
LAYOUT-03 | Offset continuity is best verified through persisted selection state and runtime logs | Create a selection, refresh the page, and confirm restored selection points to the same absolute offsets |
| Geometry queries do not break page navigation / current location | LAYOUT-01 | Page geometry must be validated through runtime behavior and current-location flow | Move between pages, search, and restore location after repagination; confirm page mapping stays stable |
Validation Sign-Off
- All tasks have
<acceptance_criteria>or manual checks - Sampling continuity: no 3 consecutive tasks without a build or simulator check
- Wave 0 covers missing infrastructure
- No watch-mode flags
- Feedback latency < 180s
nyquist_compliant: trueset in frontmatter
Approval: pending