ReadViewSDK/.planning/phases/05-regression-stability/05-01-PLAN.md

85 lines
4.3 KiB
Markdown

---
phase: 05-regression-stability
plan: 01
type: execute
wave: 1
depends_on: []
files_modified:
- ReadViewDemo/ReadViewDemo/ViewController.swift
- .planning/phases/05-regression-stability/05-VALIDATION.md
- .planning/phases/05-regression-stability/05-RESEARCH.md
autonomous: true
requirements:
- STAB-01
user_setup: []
must_haves:
truths:
- Phase 5 needs an explicit sample matrix, not only ad hoc simulator runs.
- demo/runtime diagnostics are the primary validation entry point.
- the matrix must account for native reflowable, fixed/interactive, and TXT-compatible paths.
artifacts:
- .planning/phases/05-regression-stability/05-01-SUMMARY.md
key_links:
- `ReadViewDemo/ReadViewDemo/book/`
- `ReadViewDemo/ReadViewDemo/ViewController.swift`
---
<objective>
构建样本书验证矩阵、诊断输出和复现清单,让 Phase 5 的回归验证有明确覆盖面和可重复证据。
Purpose: 先把“验证什么、用什么样本、看什么证据”固定下来,再进入稳定性收敛。
Output: documented sample matrix plus demo-visible or log-visible validation summary covering the required book categories.
</objective>
<context>
@.planning/ROADMAP.md
@.planning/STATE.md
@.planning/phases/05-regression-stability/05-RESEARCH.md
@.planning/phases/05-regression-stability/05-PATTERNS.md
@.planning/phases/04-reader-capabilities/04-VERIFICATION.md
@ReadViewDemo/ReadViewDemo/ViewController.swift
@ReadViewDemo/ReadViewDemo/book/
</context>
<tasks>
<task type="auto">
<name>Task 1: 定义样本矩阵与风险映射</name>
<files>.planning/phases/05-regression-stability/05-RESEARCH.md, .planning/phases/05-regression-stability/05-VALIDATION.md, ReadViewDemo/ReadViewDemo/ViewController.swift</files>
<read_first>.planning/phases/05-regression-stability/05-RESEARCH.md, ReadViewDemo/ReadViewDemo/ViewController.swift, ReadViewDemo/ReadViewDemo/book/</read_first>
<action>明确每本样本书对应的验证类别与风险映射,并在需要时把这份矩阵体现在 demo 诊断输出或 phase 文档中。矩阵至少覆盖:小说/长文本 reflowable、复杂块元素/图片 reflowable、fixed 或 interactive WebKit 路径,以及 TXT 路径(如当前缺样本,则需在执行期明确补充策略)。</action>
<acceptance_criteria>
- sample corpus is mapped to explicit regression categories
- Phase 5 artifacts state what evidence each sample is expected to provide
- demo remains the primary visible validation entry point
</acceptance_criteria>
<verify>find ReadViewDemo/ReadViewDemo/book -maxdepth 1 -type f | sort && rg -n "validation|diagnostic|sample|matrix|restore|fixed|reflowable|txt" ReadViewDemo/ReadViewDemo .planning/phases/05-regression-stability -S</verify>
<done>Phase 5 has an explicit validation matrix instead of an implicit sample list.</done>
</task>
<task type="auto">
<name>Task 2: 增强可重复诊断输出与复现清单</name>
<files>ReadViewDemo/ReadViewDemo/ViewController.swift, .planning/phases/05-regression-stability/05-VALIDATION.md</files>
<read_first>ReadViewDemo/ReadViewDemo/ViewController.swift, .planning/phases/04-reader-capabilities/04-VERIFICATION.md</read_first>
<action>在现有 demo summary 基础上补充最小但可重复的诊断输出或验证说明,使后续 Phase 5 回归结果能被再次运行并比对。不要引入新的测试壳;应复用当前 demo 和已有日志体系。</action>
<acceptance_criteria>
- runtime validation evidence is clearer than a generic success/failure line
- there is a written checklist or summary path for rerunning the same validations
- diagnostics remain lightweight and tied to existing sample books
</acceptance_criteria>
<verify>rg -n "validation|diagnostic|restore|pagination|search|highlight|fixed|resource" ReadViewDemo/ReadViewDemo/ViewController.swift .planning/phases/05-regression-stability/05-VALIDATION.md</verify>
<done>Phase 5 starts with a repeatable evidence-producing validation layer.</done>
</task>
</tasks>
<verification>
Before declaring plan complete:
- [ ] `find ReadViewDemo/ReadViewDemo/book -maxdepth 1 -type f | sort`
- [ ] `rg -n "validation|diagnostic|sample|matrix|restore|fixed|reflowable|txt" ReadViewDemo/ReadViewDemo .planning/phases/05-regression-stability -S`
</verification>
<output>
After completion, create `.planning/phases/05-regression-stability/05-01-SUMMARY.md`
</output>