3.7 KiB
3.7 KiB
| phase | slug | status | nyquist_compliant | wave_0_complete | created |
|---|---|---|---|---|---|
| 7 | wxread | draft | true | false | 2026-05-22 |
Phase 7 — Validation Strategy
Per-phase validation contract for WXRead custom pagination-attribute closure.
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 the native text sample books still open.
- Before execution handoff: confirm the semantic-attribute and pagination-diagnostic 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 |
|---|---|---|---|---|---|---|---|---|---|
| 07-01-01 | 07-01 | 1 | ATTR-01 | — | N/A | build | xcodebuild ... build |
✅ | ⬜ pending |
| 07-01-02 | 07-01 | 1 | ATTR-01 / ATTR-03 | — | N/A | build | xcodebuild ... build |
✅ | ⬜ pending |
| 07-02-01 | 07-02 | 2 | ATTR-01 / ATTR-02 | — | N/A | simulator | build_run_sim |
✅ | ⬜ pending |
| 07-02-02 | 07-02 | 2 | ATTR-03 | — | N/A | simulator | build_run_sim |
✅ | ⬜ pending |
| 07-03-01 | 07-03 | 3 | ATTR-02 / ATTR-03 | — | N/A | manual | simulator inspection | ✅ | ⬜ pending |
| 07-03-02 | 07-03 | 3 | ATTR-01 / ATTR-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.
- Demo validation must include at least one native text sample with images/attachments and one sample containing code/list/table/blockquote-like structure.
Manual-Only Verifications
| Behavior | Requirement | Why Manual | Test Instructions |
|---|---|---|---|
avoidPageBreakInside / pageBreakBefore / pageBreakAfter 规则能在分页日志或诊断中看见 |
ATTR-01 | 需要结合真实章节分页结果,而不是只看源码 | 打开 native text 样本,记录分页摘要,确认强制分页或 avoid-break 命中会出现在诊断输出 |
| 图片/附件垂直居中等语义在 page metadata 或展示侧可见 | ATTR-02 | 需要运行时确认附件语义没有在 attributed string 到分页器之间丢失 | 打开包含图片的章节,检查 demo 日志或调试输出是否显示 attachment semantic / vertical-center 信息 |
| 代码块、表格、列表、引用块分类可区分并进入分页诊断 | ATTR-03 | 这是复杂样本行为,必须在真实内容上确认 | 打开复杂图文章节,确认诊断摘要能区分 block kind,并能解释分页边界为何调整 |
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