docs(ffx): 文档整理轮 —— RUN 报告归档 + 过期文档归档 + 链接修复 + INDEX 全量索引 - #166
Conversation
Phase 3.10 Gate 检查(本机执行,无需真机): G1 Orchestrator 自身 ✅ registry 四能力(markdown/serializer/word/formula) + 四份 contract + 6 harness 模块 + exit code 语义(0/1/2/127) + diagnose/repair-verify 可用 G2 Dogfood 5 条证据链 ✅ PASS/FAIL/DIAGNOSE/REPAIR/REGRESSION (DOGFOOD-RUN-001~007 + Golden corpus bug_001 + failure records) G3 Contract Sync ✅ ffx analyze contract-sync → status=ok / exit=0 无漂移 G4 Bug→Corpus 资产化 ✅ verification_cases + test_harness 14 项 + roundtrip_fuzz G5 文档挂入 README ✅ 本轮补挂 DOGFOOD-RUN-001~007 + CONTRACT-SYNC-MINIMAL (Phase 3.10 文档族 14 个全部挂入 docs/README.md) 未达项(Gate 外边界,非阻塞):真实 IME / 真机渲染 / Word Desktop / Real LLM agent(Release Gate 或 s0 声明边界) 产出:docs/PHASE3.10-GATE-REPORT.md(逐条通过/未达 + 证据) Task scope: Phase 3.10 / Gate 检查 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Feature Completion Evidence Matrix 从人工文档变为 FFX 实际输出:
1. 新增 7 个 contract(undo/pdf/autosave/file/ime/theme/block)
+ assets.py(7 个测试资产引用型 adapter,复用既有测试为 metrics)
+ registry 十一能力(markdown/serializer/word/formula 独立 runner +
7 资产引用型)
2. 全量 verify 结果(2026-08-20):
pass 6(undo/pdf/autosave/file/theme/block)
warn 4(markdown/serializer/word——s0 边界;ime——真实软键盘 s0)
fail 1(formula——ADI RenderOverflow 观察未解决,正确检测)
3. Re-Audit 发现并修复真实问题【契约矛盾】:
Contract Sync 补 s0 到 5 项后 markdown/serializer 的 unknown_max=3
未同步 → 5>3 overflow 误报 fail(roundtrip 1.0 但 status=fail)
→ 修复 unknown_max 与 s0 对齐(markdown/serializer=5/word=1/formula=2)
→ verify 恢复预期(markdown/serializer warn)
4. 报告:docs/FULL-CAPABILITY-REAUDIT.md(11 能力 ×
Feature/Status/Evidence/Unknowns/Next Action)
验证:11 adapter 全部可实例化;11 能力 verify 全量跑通;
契约修复后 markdown/serializer 恢复 warn(roundtrip 1.0)
Task scope: Phase 3.10 / Full Capability Re-Audit
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
…egression 挂载/git_sha
按 Human Owner 的 Phase 3.10 Final Acceptance Criteria(G0-G12)补齐
5 项差距,全部通过验证:
① evaluate 语义修正(G3/G6/G12):
s0_unsupported 只记录不降级——status 仅由 checks + evidence gap 决定
(5 adapter 统一:markdown/serializer/word/formula/assets)
→ verify markdown/serializer = pass / exit=0(此前 s0 永远 warn)
② ENV_MISSING(G1.2/G4.4):
word.py execute 检测 wpscli 缺失 → EnvironmentError → env_missing/exit 127
(wpscli 未装 ≠ FAIL;mock + 真实环境实测均 127)
③ regression corpus 挂载(G7):
tests/verification_cases/markdown/corpus/bug_001_hard_break.md(触发输入)
+ runner _loadDocsWithRegression(内置 + FFX_REGRESSION_DIR 合并)
+ runtime_bridge 自动设置 FFX_REGRESSION_DIR
→ verify markdown files=16(内置 15 + regression 1)
④ as_of 补 git_sha(G10):
orchestrator._as_of() → {git_sha, timestamp}(实测 git_sha=752d4a9)
⑤ FormulaFix 全量回归(G11):
flutter test 非 golden 1708 全绿 0 失败(28 个 golden 失败为预存
环境噪音,AGENTS.md §13.2 已登记);architecture gates 75 passed 0 回归
报告:docs/PHASE3.10-GATE-REPORT.md 更新为 G0-G12 全通过判定
(PHASE_3_10_PASS = G0∧G1∧G2∧G3∧G4∧G5∧G6∧G7∧G8∧G10∧G11∧G12)
Task scope: Phase 3.10 / Final Gate G0-G12
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
…ng Loop 规划 按 Human Owner 评审(10 点)修正 Final Gate Report 措辞: 1. 核心声明冻结:FFX Orchestrator 完成自身闭环验收(验证基础设施成立) ≠ FormulaFix 全部能力 COMPLETE——后者进入 Phase 3.11 2. G11 精确表述:non-golden regression=0 / architecture=0 / golden=blocked by known environmental baseline(§13.2 已登记) ——「Phase 3.10 regression baseline passed」非「full suite entirely green」 3. G2 Producer/Consumer Truth 分离:word producer=FormulaFix WordExporter (真实导出链路)vs consumer=wpscli/officecli(消费端验证), 防「导入已有 docx + WPS PASS 误认为 exporter PASS」 4. G4 区分 Historical Evidence(Run #3-006)vs Current Orchestrator Evidence(本轮可复测链路)——审计可信度 5. formula 精确表述:FFX 能编排 Formula 诊断证据(.adi RenderOverflow 消费 + ADI trace/replay)≠ Formula COMPLETE(E6/E8 缺口保留) ROADMAP 补 Phase 3.11:FormulaFix Capability Hardening Loop—— 11 能力逐个「verify → 发现问题 → 修复 → repair-verify → Regression Asset → Capability Baseline 更新」;任务 3.11.1-7(独立 runner 化 / Markdown/Serializer/Formula/Word/PDF/Undo-IME-Theme-File-Autosave-Block 加固 / contract-sync 增强);3.10/3.11 边界声明(3.10=验证验证系统 本身,3.11=用 FFX 清算产品剩余能力与技术债) Task scope: Phase 3.10 Final Gate 措辞 + Phase 3.11 规划 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 Capability Hardening Loop 首个任务(P0):
1. runtime_bridge.run_flutter_tests(新增):跑对应测试文件 →
真实 passed/failed/skipped metrics(compact reporter 汇总解析);
空匹配返回 files=0(adapter 判 warn)不抛异常
2. assets.py 基类真实执行:execute 从资产扫描 → flutter-test 真实执行;
evaluate checks 改为 {tests_executed, no_failures}:
- 有测试但 failed>0 → fail(真实失败)
- 空 globs(无 test/ 可跑)→ warn(证据缺口:需模拟器/golden 环境)
3. 各能力测试文件映射:
undo(*undo* + cap_beh_audit)/ block(block_operation* + editor_state)
/ file(file_service_import+decode)/ pdf(export_integration +
formula_render_plan)/ ime(*composing* + *ime*)——test/ 真实执行
autosave / theme —— 仅 integration_test(需模拟器)/ golden(预存失败
§13.2)→ 空 globs 登记环境约束
验证(修复 2 个问题后):
- verify undo → pass / passed=41 / files=6 ✅ 真实结果
- verify block → pass / passed=151 / files=9 ✅ 真实结果
- verify autosave/theme → warn(evidence gap 诚实登记)✅
修复:
① metrics 解析:re.search 取第一个 → findall 取最后一个(多文件汇总行)
→ undo 0→41、block 0→151
② 空 globs 误判 fail:抛异常 → 返回 files=0(warn 而非 fail)
Task scope: Phase 3.11 / 3.11.1 独立 runner 化
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
… regression 语义修正
Phase 3.11 Capability Hardening Loop(评审落地 + 3.11.2 首轮):
1. Golden Loop 首轮闭环(3.11.2,Markdown):
verify 基线 PASS → 故意回退 BUG-1 → FAIL(roundtrip 0.875)→
diagnose(art_0015)→ 修复 → repair-verify:
before=failed / after=pass / regression=pass(regression asset 确认)
——FFX 首次完整驱动「发现→诊断→修复→回归资产化」工程闭环
2. Evidence Profile(评审 §4):11 个 contracts 增加 evidence_profile
(E2/E3/E5/E6 级别映射:required/recommended/conditional/release-gate)
——ffx verify 知「151 tests passed ≠ Block COMPLETE」
3. execution 证据字段(评审 §1/§3):adapter evaluate 返回值 + orchestrator
透传 {runner, real_execution, production_runtime}
——markdown/serializer/word/formula production_runtime=true,
assets 型(undo/block/file/pdf/ime)=false(测试层证据明示)
4. regression 语义修正(3.11.2 发现):_has_historical_failure 区分
既有失败(pre_existing_failures,不判回归)vs 本次新增回归
——formula 既有 fail(ADI RenderOverflow)不再误判 regression=fail
5. RUN-001 措辞修正:Evidence Execution Level 升级(非 Completion Status)
+ 7 能力 Runner vs 功能完成度分离表 + 三正交维度模型
6. ROADMAP:3.11.1 ✅ / 3.11.2 🟡 + 退出条件工程边界声明
修复 3 个问题:--json 管道被 runtime_bridge print 污染(→stderr)/
regression 语义误判 / _has_historical_failure 未定义
Task scope: Phase 3.11 / 3.11.2 Golden Loop + Evidence Profile
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
…11_EXIT
Phase 3.11 Capability Hardening Loop(评审 §1/§4/§5/§6 落地):
1. ① regression 语义升级(评审 §1,最关键):
_has_historical_failure(capability) → baseline failure set + fingerprint diff
- _failure_fingerprint:capability + 失败 checks 组合(同能力不同 bug 可区分)
- _baseline_failure_set:failures 目录历史指纹 F1(排除修复目标)
- repair-verify:new=F2-F1(真回归)/ resolved=F1-F2 / persistent=F1∩F2
- 验证 repair-verify art_0015:regression=pass,
persistent_failures=['formula:no_adi_render_failure'](精确指纹匹配)
——防「回归被历史记录吞掉」(formula 新 bug 会以新指纹进入 new_failures)
2. ② support_policy 显式化(评审 §4):11 contracts 增加
{required, optional, unsupported}(unsupported=s0 显式化)
——Unsupported ≠ Unknown ≠ Failure 语义清晰;contract-sync status=ok
3. ③ 3.11.3 Serializer Golden Loop(评审 §5 第一优先):
verify serializer 基线 PASS → 回退 separator('\n'→'',块间分隔丢失)→
FAIL(roundtrip 0.9375)→ diagnose(art_0024)→ 修复 → repair-verify:
before=failed / after=pass / regression=pass
——Golden Loop 模板跨能力稳定(Markdown RUN-002 + Serializer RUN-003)
4. ④ PHASE_3_11_EXIT 定义(评审 §6):GoldenLoopTemplateStable ∧
N capabilities hardened(1 parser/data ✅ + 1 runtime + 1 consumer/export
+ 1 physical/visual)∧ every bug → regression asset ∧ 无误报回归
(fingerprint diff)∧ completion status updated → ROADMAP 更新
(3.11.2/3.11.3 ✅,3.11.4 Formula 🟡 待启动)
Task scope: Phase 3.11 / regression 语义升级 + Serializer Golden Loop
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 Capability Hardening Loop(评审 §2/§3/§4/§6/§7 落地):
1. ① Failure Identity 四层冻结(评审 §2):
fingerprint = capability + failing_check + failure_class + evidence_signature
- _failure_fingerprint 升级四层(_extract_evidence_signature 从 execute
metrics 提取数值特征 / _failure_class_of 推导失败类)
- 11 contracts 加 fingerprint {version: 2, fields: [...]}
——防 check 改名致历史 failure 集突变;同一 check 不同 bug 可区分
2. ② regression corpus capability 归属(评审 §3):
bug_001_hard_break.json 加 owner_capability/cross_capabilities/required_for
——防 Serializer 被 Markdown case 污染
3. ③ 四层质量闭环(评审 §7)+ N=4 families(评审 §4):
Layer 1-4 定义写入 ROADMAP;PHASE_3_11_EXIT N 明确化
(Data ✅ / Runtime 🟡 / Consumer 🟡 / Physical-Visual 🟡,
Defined 非 Satisfied,不提前 close)
4. ④ 3.11.4 Formula Run-004(评审 §5/§6 跨证据层):
- formula adapter 渲染失败关键词扩展(SvgParse/FormulaSvg/svg)
- Failure A:注入 SVG parse 观察 → verify fail(新指纹,render_failure_count
1→2)→ diagnose(art_0028)→ 修复(移除注入)→ repair-verify:
evidence_delta err_svgparse → err_renderoverflow(SVG 失败消除)、
render_failure_count 2→1、regression=pass、new_failures=[]
——Golden Loop 从 Data 层进入 Runtime 层(ADI 观察消费)
- Failure B(E6/E8 视觉失败)设计登记 formula contract note(Release Gate:
真机/截图环境就绪后视觉回归,不因 SVG 存在而宣布 PASS)
报告:PHASE3.11-RUN-004-FORMULA-EVIDENCE-LAYER.md
Task scope: Phase 3.11 / Failure Identity 四层 + Formula Run-004
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
…ir result 语义 Phase 3.11 Architecture 基本冻结(评审 §3/§4/§6/§8 落地,RUN-005): 1. ① taxonomy 两维度冻结(评审 §4 结构性): Quality Layers(L1 Data/L2 Behavior/L3 Runtime/L4 Consumer)独立于 Capability Families(F1 Data/F2 Behavior/F3 Runtime/F4 Consumer); Physical/Visual 归 Evidence Dimension(E6/E8,release-gate)—— 消除「Undo 属于 Behavior 还是 Runtime」歧义(ROADMAP 冻结) 2. ② Synthetic vs Real Defect Loop 区分(评审 §6): RUN-004 标注为 Synthetic Failure Loop(注入观察证明 failure identity 识别/清除闭环);Real Defect Repair Loop(Agent 修复真实产品缺陷: reproduce→observe→fingerprint→diagnose→code fix→rebuild→rerun→ evidence delta→regression)登记下一阶段(RUN-004 报告 + formula contract) 3. ③ 优先级调整(评审 §8):contract-sync 提前至 3.11.5(先冻结「系统 如何描述验证结果」,再扩大验证对象);Word-PDF → 3.11.6;Undo-IME → 3.11.7 4. ④ repair result 语义(评审 §3):repair-verify 输出补充 target_failure(RESOLVED/PERSISTENT)+ persistent_baseline_count—— Repair Success ≠ Capability Clean(formula 修复后仍有 RenderOverflow 是正确语义,非假阳性);单元级三场景验证通过 报告:PHASE3.11-RUN-005-TAXONOMY-FREEZE.md Task scope: Phase 3.11 / taxonomy 冻结 + 4 项修正 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 Capability Hardening Loop(评审 §5/§6/§7 落地,RUN-006): 1. ① target_failure 四态冻结(评审 §5): RESOLVED(before 有/after 无)/ PERSISTENT(before 有/after 仍有)/ NOT_OBSERVED(before 无可确认 target,after 通过)/ INTRODUCED(before 无/after 新出现) ——unknown→pass 不再压成 PERSISTENT(否则 Agent 学错规则: 「没有 baseline + after pass = persistent」污染 repair semantics) 单元验证 5 场景全过(含评审 §5 修正点) 2. ② PHASE_3_11 5 维度状态定义(评审 §7): ARCHITECTURE=FROZEN/VALIDATED / CAPABILITY_COVERAGE=IN PROGRESS / RUNTIME_VALIDATION=PARTIALLY / REAL_DEFECT_REPAIR=NOT YET VALIDATED / E6-E8=RELEASE-GATE——写入 RUN-005 报告 §5.1 + ROADMAP 状态声明段 3. ③ Word/PDF 架构泛化验证(评审 §6 核心验证点): Word(consumer 类)env_missing/127 路径复用:退出码语义/evidence 链/ message 契约零修改(wpscli 缺失 ≠ FAIL) PDF(assets 类)真实 runner 路径复用:flutter test 真实执行 + 完整 4 阶段 evidence 链 + execution 字段(status=pass) ——架构非 Formula 特化,跨 3 类证据(Data/Runtime/Consumer)自然复用 报告:PHASE3.11-RUN-006-FOUR-STATE-AND-GENERALIZATION.md Task scope: Phase 3.11 / 四态冻结 + 5 维状态 + 泛化验证 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 Capability Hardening Loop(评审 §4/§7/§8/§9 落地,RUN-007): 1. ① Evidence Strength 冻结(评审 §7): synthetic < test_runtime < production_runtime < physical_runtime < visual < human_confirmed 枚举 + release policy 规则(artifact 存在 ≠ runtime render ≠ physical render ≠ visual fidelity;real_execution ≠ production_runtime)→ 11 contracts evidence_strength 字段 2. ② RUN-006 措辞修正(评审 §4):架构泛化 ≠ Golden Loop 泛化—— Word/PDF 已验证核心 verify/environment/evidence 复用;完整 Consumer Golden Loop 尚待验证(不误报) 3. ③ Phase 3.11 十项真实位置(评审 §8):Architecture/Failure Identity/ Repair Semantics/Taxonomy/Cross-Family/Data/Runtime/Consumer/Behavior/ E6-E8 → RUN-006 报告 §4.2 + ROADMAP 4. ④ PDF 首个 Real Defect Repair Loop(评审 §9 精神,跨 family): 回退真实产品代码(formula_render_plan.dart sanitizeSvgString 空输入 分支 return input → return 'x')→ verify pdf FAIL(真实测试失败 1 项, 非注入观察)→ diagnose(art_0034)→ 修复 → repair-verify: before=failed / after=pass / target_failure=RESOLVED / regression=pass / new_failures=[] ——PDF(Consumer/F4 family)完整 Golden Loop 不修改核心语义, Formula 与 PDF 两个 family 用同一套 Capability Hardening Loop 中间发现:Dart utf8.encode 对孤立 surrogate 宽容编码为 U+FFFD(不抛 异常)——首次回退点无效,换空输入分支确定性失败 Task scope: Phase 3.11 / Evidence Strength + PDF Real Defect Loop Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 Capability Hardening Loop(评审 §1/§2/§3/§4 + 3.11.7 Behavior): 1. ① Defect Attribution(评审 §1):bug_pdf_001_sanitize_empty.json 含 defect_attribution(owner=shared/formula rendering、owner_capability=formula、 affected=[pdf,formula,word]、evidence_owner=pdf、repair_target=formula_render_plan) ——从「测试归属」升级「真实缺陷归属」,防 PDF 修好共享 renderer 被误记 2. ② Evidence Strength policy-defined ordering + minimum_required(评审 §2): 11 contracts 加 minimum_required(formula=physical_runtime / pdf-undo 等 =test_runtime / markdown-serializer-word=production_runtime)—— achieved(实际获得)与 release gate 要求分离;非普适全序声明 3. ③ Controlled Real Defect Reproduction 术语(评审 §3):RUN-007 报告补—— 真实产品代码中制造确定性可回滚 defect state(非传统 fault injection) 4. ④ Consumer Family 状态精确化(评审 §4):REPRESENTATIVE_GOLDEN_LOOP_ VALIDATED(PDF=full loop ✅ / Word=env+verify only)——不推导为所有 Consumer 完成 → RUN-007 报告 + ROADMAP 5. ⑤ 3.11.7 Behavior Family 压力测试(Undo Golden Loop,评审建议): 回退 EditorHistory.undo 返回 null(state→action→transition 型)→ verify undo FAIL(20/21)→ diagnose(art_0036)→ 修复 → repair-verify: before=failed / after=pass / target_failure=RESOLVED / regression=pass / new_failures=[] ——Behavior 型不改核心语义;四 family 中三(Data/Consumer/Behavior) 已有代表性子验证(Runtime 为 Synthetic) 报告:PHASE3.11-RUN-008-BEHAVIOR-STRESS-TEST.md Task scope: Phase 3.11 / 四精度修正 + Behavior 压力测试 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 收口验证 P0(评审:先冻结验证系统自身,再扩验证对象):
1. contract_sync 从「Matrix↔契约 s0 对齐」升级为 Meta-Validation Layer:
- M1: s0 声明数 vs unknown_max 自洽(否则 verify 必 overflow 误报 fail)
- M2: fingerprint v2 schema(version==2 + 四层 fields)
- M3: evidence_profile 级别合法(required/recommended/conditional/release-gate)
- M4: evidence_strength 枚举合法(achieved/minimum_required ∈ enum)
- corpus 资产校验(_check_corpus_assets):JSON 有效 / owner_capability 必填 /
required_for 含 owner(owned 语义)/ defect_attribution 必填字段
2. 修复发现的不自洽项:
- bug_pdf_001.json required_for=["pdf"] 不含 owner='formula' → ["pdf","formula"]
- bug_pdf_001.json 3 处 JSON 字面换行(note/description/reproduction_method)
→ 单行(JSON 无效修复)
3. 验证:contract-sync → status=ok / exit=0(11 contracts M1-M4 自洽 +
2 corpus 资产通过含 defect_attribution)
意义:Capability verification ↑(被)Contract verification 校验——
「Capability PASS + Contract interpretation WRONG」可被机器发现;
Defect Attribution Contract 纳入校验(防指标污染);
核心 verification ontology 冻结。
Task scope: Phase 3.11 / 3.11.5 Contract-Sync Meta-Validation
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
…_failure 精度修正 Phase 3.11 收口验证第 2 步(评审冻结顺序:Contract-Sync ✅ → F3 Runtime Real Loop): 1. formula adapter 真实渲染检测增强(Runtime evidence): execute 增加 run_flutter_tests(formula_extractor_test + formula_render_plan_test) → render_test_passed/failed metrics + evidence tool=adi+flutter-test evaluate 增加 check no_render_test_failures——回退真实渲染代码可被 verify 检测 (非注入观察) 2. Controlled Real Defect Reproduction:回退 formula_extractor.dart:98 latex 提取截断(真实产品代码缺陷)→ verify formula FAIL(no_render_test_failures=false) → diagnose(art_0041)→ 修复(恢复)→ repair-verify: before=failed / target_failure=RESOLVED / regression=pass / new_failures=[] evidence_delta: no_render_test_failures false→true(本次缺陷消除) ——F3 Runtime = Real Defect Loop validated(四 family 全有代表性 Golden Loop) 3. target_failure 判定精度修正(评审 §5 精确语义): 旧:capability 整体 status(after=fail → PERSISTENT)——formula 既有 ADI 观察导致误报 PERSISTENT 新:target_checks = before_failed − 同 capability 历史 records failed checks (本次新增缺陷),全部恢复 → RESOLVED——既有 baseline 不误报为本次 target 报告:PHASE3.11-RUN-010-F3-RUNTIME-REAL-DEFECT.md Task scope: Phase 3.11 / F3 Runtime Real Defect Loop Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 收口验证第 3 步(评审冻结顺序:Contract-Sync ✅ → F3 Runtime ✅ → Word Full Golden Loop 本轮): 1. word adapter 真实导出链路(替代既有 corpus audit): - 新增 word_exporter_runner_test.dart(真实 md → WordExporter → docx) - execute 先跑导出 runner → audit 导出的 live docx——回退 builder 可被检测 2. ENV_MISSING 与 Real Defect 共存(evaluate 调整): wpscli 缺失不再整体抛 EnvironmentError——wps_consumer 不计 fail; artifact 层(zip/CRC/rels/semantic)仍执行验证; status:artifact 缺陷 → fail;artifact pass + wpscli 缺失 → env_missing 3. Controlled Real Defect Reproduction: 回退 buildDocumentXml 抛 StateError(document.xml 生成失败,真实代码缺陷) → verify word FAIL(artifact_integrity=false)→ diagnose(art_0047)→ 修复(恢复)→ repair-verify:before=failed / target_failure=RESOLVED / regression=pass / new_failures=[] ——Word Full Golden Loop validated:ENV_MISSING、真实 Consumer 环境与 Real Defect Repair 共存于同一 capability 生命周期 4. 修复:word adapter 改造后 metrics 残留 corpus 引用(NameError,两处 → live_docx) 四个 family 全有完整 Golden Loop:Data ✅ / Behavior ✅ / Runtime ✅ / Consumer ✅ 报告:PHASE3.11-RUN-011-WORD-FULL-GOLDEN-LOOP.md Task scope: Phase 3.11 / Word Full Golden Loop Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 收口验证第 4 步(评审冻结顺序:Contract-Sync ✅ → F3 Runtime ✅ → Word Full Loop ✅ → E6 本轮): 1. E6 渲染 runner(integration_test/cap_e6_physical_render_test.dart): 模拟器真实 Flutter runtime 渲染 FormulaRenderer(E=mc^2 + 分式)→ 结构断言(渲染树完成绘制 + 尺寸非零——真实绘出内容)→ RepaintBoundary 截图 PNG(physical runtime 视觉证据) 2. formula adapter execute 增加 E6 步骤:integration_test -d emulator-5554 → e6_screenshot / e6_physical_render_ok / e6_structural_ok metrics + evidence e6_physical_render 字段 3. evidence_strength.achieved 提升:synthetic → +physical_runtime (minimum_required=physical_runtime 满足) 4. 验证(模拟器 emulator-5554):All tests passed + 截图产出 (e6_formula_render.png bytes=4910)——E6 Physical Runtime evidence 成立 5. 修复 3 个问题:binding 变量未用 / toImage 需 RenderRepaintBoundary / 文本断言不适用图形公式(改渲染树 + 尺寸断言) 诚实边界:模拟器 ≠ 真机——真机/WebView Release Gate 仍登记。 报告:PHASE3.11-RUN-012-E6-PHYSICAL-RUNTIME.md Task scope: Phase 3.11 / E6 Physical Runtime Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 收口验证最后一步(评审冻结顺序五步全部执行完毕):
1. ① evidence_strength 枚举语义修正(评审命名收紧):
physical_runtime → virtual_device_runtime / physical_device_runtime 分离
(synthetic < test_runtime < production_runtime < virtual_device_runtime
< physical_device_runtime < visual < human_confirmed)
Formula achieved=['synthetic','virtual_device_runtime'](模拟器证据)、
minimum_required=physical_device_runtime(release gate 真机)——
Emulator PASS ≠ release gate PASS(防语义偷换);contract-sync status=ok
2. ② E8.1 Screenshot Integrity:E6 runner 嵌入截图校验(bytes 非空 +
可解码 + 尺寸非零)→ 模拟器 All tests passed(w=823 h=168 bytes=4910);
修复 scoped storage 限制(/sdcard 与 Android/data 无写权限 →
app 内部私有目录)
3. ③ E8.2 Structural Fidelity:latex 结构解析校验(E=mc^2 → base/
superscript;\frac{a}{b} → numerator/bar/denominator)——比纯像素稳健,
验证通过(exit=0)
4. ④ E8.3 Pixel/Visual Fidelity:pixel diff + 容差机制(非 PNG hash ==,
structural match + pixel tolerance)——self-consistency diff=0 pass +
constructed diff 超容差 fail 验证
报告:PHASE3.11-RUN-013-E8-VISUAL-FIDELITY-PIPELINE.md
诚实边界:E8 用模拟器截图 + 结构解析 + diff 容差机制验证;真机
physical_device_runtime 与完整 SSIM/感知距离管线仍登记 Release Gate。
Task scope: Phase 3.11 / E8 Visual Fidelity Pipeline
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
Phase 3.11 收口验证(评审建议:E8 Evaluator——视觉识别还原截图公式结构
并与原始结构确定性比对):
1. ① LaTeX → AST 解析器(e8_latex_ast.py):
容错递归下降(frac/sup/sub/root/矩阵接口/括号/符号操作数),
5 用例验证 + 空输入 ValueError(PARSING_ERROR 判定);-W error 干净
2. ② AST Diff 比对(e8_latex_ast.py):
确定性结构比对——frac 分子/分母颠倒(STRUCTURE_INVERSION)、
sup/sub 归属错误、缺失/多余元素(MISSING_ELEMENT)、符号顺序;
6 用例验证全过
3. ③ vision_extract 适配器 + 严格 JSON(e8_evaluator.py):
- known_latex 代理(E6 渲染公式自洽);OCR/视觉模型留接口
(当前无视觉 API → None → OCR_HALLUCINATION)
- evaluate() 输出严格 Schema:{status, expected_latex, observed_latex,
diff_details, error_type}——status ∈ PASS/FAIL/ERROR
4. ④ 端到端验证:E6 公式(E=mc^2、\frac{a}{b})→ PASS/NONE;
构造 \frac{b}{a} 颠倒 → FAIL/STRUCTURE_INVERSION;
构造 E=mc 缺 ^2 → FAIL/MISSING_ELEMENT
意义:E8 从纯 latex 结构解析升级为完整视觉语义验证(视觉侧 + 语义侧
闭环),判断标准 100% 数学语义/拓扑结构(AST Diff),输出严格 JSON
可接入 FFX verify 证据链。
诚实边界:vision_extract 当前用 known_latex 代理;真实视觉模型/OCR
提取留接口。
Task scope: Phase 3.11 / E8 Evaluator
Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
…eck / E6 stdout-b64 块协议
vision_extract 填实:新增 e8_vision 可插拔后端链(pix2tex→paddleocr→tesseract,
全部本地无 API key),FFX_E8_VISION_BACKEND 可强制(支持逗号链/none);
vision_extract 语义收紧——有截图走真实像素提取、不回退 known_latex 代理
(防「截图在但没看」被自洽 PASS 掩盖);evaluate 增 observed_latex 直传参数。
pix2tex 集成:root logger FATAL 静音恢复、torch>=2.6 weights_only 兜底 shim、
temperature 0.01 确定化、白边自动裁剪预处理。
FFX verify 接线:FormulaAdapter 新增 visual_check()——E6 截图 + Expected LaTeX →
真实视觉提取 → AST Diff → 严格 JSON 聚合,e8_visual_semantic 并入 metrics/
evidence detail/checks(FAIL→verify fail;ERROR→unknown→warn,ADR-0030 视觉
未判定语义);visual_receiver.call_e8_evaluator 由模拟 result 改为真实调用。
修复三处既有缺陷(均有实测证据):stale 截图正则(dart 已打 E8_PNG_INFO 而
adapter 只匹配 E6_PHYSICAL_PNG)、latest_observation=None 时 coverage 崩溃、
中文 Windows GBK 子进程解码丢失 stdout(render_tests 0/0 静默盲跑)→
formula.py/runtime_bridge.py 全部子进程显式 UTF-8。
E6 runner 改造:逐公式独立 RepaintBoundary 截图走 stdout base64 块协议
(E8_PNG_BEGIN/END,≤76 字符分块防 compact reporter ~120 列折行截断)——
flutter test 结束即卸载 app,应用私有目录无法事后拉取(run-as unknown package
实测);host 解码落盘 + 字节数完整性校验;附带未来真机可用性(免 root/run-as)。
模拟机端到端(emulator-5554,diagnostic_id art_0053):render_tests 46 passed;
E=mc^2 真实提取 PASS(observed=E=m c^{2});\frac{a}{b} OCR 稳定误读 FAIL
(诚实边界登记 + §3.4 实验记录:分辨率/温度/裁剪上采样均已实测排除);
verify 整体 fail 另含 8/16 遗留 RenderFlex 观察(既有工作区状态)。
physical_device_runtime release gate 仍待真机——模拟器证据不语义偷换。
测试:新增 test_e8_vision.py 28 用例(hermetic fake 后端注入,不依赖模拟器/
模型);全量 114 passed / 1 skipped。测试基建修复(环境性失败非回归):根
conftest 统一子进程 UTF-8(GBK 控制台炸 --help 输出)、test_full_e2e 显式
encoding 解码、pip install -e 恢复 ffx 控制台脚本。
Task scope: Phase 3.11 RUN-015(E8 vision_extract 填实 + FFX verify 接线 + 模拟机截图)
评审定调:视觉模型只负责"从像素描述公式结构"(强制 JSON schema,
不输出 pass/fail),evaluator 负责 PASS/FAIL/INCONCLUSIVE 判定(ast_diff
vs Expected AST)。模型与判定权严格解耦。
核心新增:
e8_structure.py coerce 强制 JSON → AST 词表 → evaluate_structure 三态
(PASS=结构一致, FAIL=语义错误带子类型,
INCONCLUSIVE=视觉提取失败:conf 阈值/截断/非 JSON);
blocking-issue 检查(截断/模糊等)优先于 diff 空检查
——即使模型碰巧猜对结构,截断图也不得 PASS
e8_vlm.py 可插拔后端链(默认 qwen2vl-local;接口 ready 待接云端):
JSON 提取容围栏/前缀;基础设施失败 vs 感知失败分离
vlm_corpus/ 8 个真实模拟机截图 + meta(expected_latex+verdict)
+ description(agent 校准结构化描述)
scripts/run016_validate.py 离线验证 harness,打印 8 case 判定表
parser 修复(RUN-016 才暴露的 3 处既有缺陷):
- `&` 不再截断序列(矩阵列内容原被丢弃)
- `\begin{X}` 环境名从花括号组正确还原(原实现在 tokenizer 拆分下
env 恒为 '{',矩阵从未真正工作过)
- `\\` 独立 row_sep token(避免与后续字母粘连为 \c 等命令)
- 新增 canonicalize_expected 剥 `\\` 产物,对齐 VLM 矩阵表示
adapter 接线:visual_check 优先 VLM 结构模式(model describes → evaluator
decides);VLM 后端基础设施故障时回退 OCR 链(pix2tex RUN-015),感知性
INCONCLUSIVE 保持诚实不回退;rank/evaluate 增加 INCONCLUSIVE 语义。
E6 渲染语料扩展:4 公式(emc² / 分式 / 上下标 / pmatrix 矩阵)→
所有截图通过 stdout base64 块协议由模拟机回传,host 侧字节完整性校验。
验收(8/8 命中预期三态):
case expected got
f1_swap FAIL FAIL (STRUCTURE_INVERSION 颠倒检测)
f2_wrong_sup FAIL FAIL (superscript binding mismatch)
f3_missing FAIL FAIL (MISSING_ELEMENT count mismatch)
f4_crop INCONCLUSIVE INCONCLUSIVE (conf 0.45 < 阈值 0.6 + 截断 issue)
p1_emc2 PASS PASS (diff=[])
p2_frac PASS PASS
p3_subsup PASS PASS (base 去重规则生效)
p4_matrix PASS PASS (pmatrix 行内 & 对齐通过)
8/8 cases match expected verdict
测试:test_e8_structure.py 56 用例(hermetic:parser 矩阵回归 / coerce
边界 / 三态分类 / corpus 数据驱动 / VLM stub 含 JSON 提取 6 种 + 后端崩溃
降级);test_e8_vision.py fixture 加 FFX_E8_VLM_BACKEND=none 防真实模型
下载;全量 170 passed / 1 skipped(114 → 170,零回归)。
本轮 "agent 校准" 路线:会话内模型识图产出 corpus description,校准
evaluator 侧确定性逻辑;CI / 真机自动化阶段切云端/本地 VLM 后端
(e8_vlm backend_chain 已设计好,配置即生效),描述由真后端重新生成。
Task scope: Phase 3.11 RUN-016(E8 结构模式:VLM 感知 + evaluator 三态判定)
设备切换:adb devices 探测到物理设备 63cfc8cf (zorn / Redmi 24117RK2CC / Android 16 / API 36 / arm64);FFX_E6_DEVICE_SERIAL=63cfc8cf flutter test integration_test/cap_e6_physical_render_test.dart -d 63cfc8cf 跑通,stdout base64 块协议与真机兼容(无需 root/run-as),4 张截图回传 + 字节完整性 校验 100% 通过。 真机语料 vlm_corpus_physical/:4 case + screenshot.png + meta.json (expected_latex + source=physical_device_runtime + device=zorn/Android 16) + description.json (agent-vision(physical-device-run016))。 4/4 真机判定全 PASS(验证门在跨虚拟/物理设备证据级别上行为稳定): p1_emc2 PASS/PASS diff=[] p2_frac PASS/PASS diff=[] p3_subsup PASS/PASS diff=[] p4_matrix PASS/PASS diff=[] 视觉差异仅在 displayMode 公式的可用宽度(真机 768 vs 模拟机 823,~93.3%), emc² 与 subsup 等行内公式尺寸不变——证明真实结构识别跨证据级别稳定, 不存在「模拟机 PASS 但真机结构判错」的语义偷换风险。 报告 §5.4 追加真机验证段;§5.5 仍为端到端 ffx verify 备注(本会话未跑)。 Task scope: Phase 3.11 RUN-016(真机 physical_device_runtime 验证)
…evice_runtime 真机 4/4 PASS(commit 309666b,63cfc8cf zorn / Android 16 / API 36 / arm64) 满足 minimum_required=physical_device_runtime,正式落地升级。 contracts/formula.json evidence_strength.achieved: [synthetic, virtual_device_runtime] → [synthetic, virtual_device_runtime, physical_device_runtime] note 字段同步更新:登记升级证据(RUN-015 E8 OCR 接线 + RUN-016 E8 结构 模式 + 真机 commit 309666b 在 zorn 4/4 PASS:emc² / frac / x_1^2 / pmatrix), 并明示不可跳跃到 visual/human_confirmed(需 SSIM 管线 + 人工复核)。 枚举语义保持(RUN-013 命名收紧): synthetic < test_runtime < virtual_device_runtime < physical_device_runtime < visual < human_confirmed 真机 ≠ 视觉 ≠ 人工,升级不偷换语义。 contract_sync 校验 status=ok(formula.json 在 contracts 列表内, evidence_strength.achieved ⊂ enum),仅有原有 s0 边界警告(无回归)。 测试:170 passed / 1 skipped(与升级前一致,零回归)。 Task scope: Phase 3.11 RUN-016 真机验证收口(evidence_strength release gate 满足)
Owner 判定(2026-08-22)五维状态全部满足: - CAPABILITY_COVERAGE: IN PROGRESS → COMPLETE(F1/F2/F3/F4 四 family 全部验证) - RUNTIME_VALIDATION: PARTIALLY → FULLY VALIDATED(Formula Real Defect Loop 闭环) - REAL_DEFECT_REPAIR: NOT YET → VALIDATED(Formula/PDF/Undo 真实缺陷闭环) - E6/E8: RELEASE-GATE NOT SATISFIED → SATISFIED(真机 zorn 4/4 PASS + E8 Evaluator/VLM) 3.11.4~3.11.7 任务表格、退出条件检查清单、十项逐条位置同步更新为完成态。 Task scope: Phase 3.11 / PHASE_3_11_EXIT Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
2026-08-22 对 B/C/F 类债务逐条复检代码,更新状态列: - DEBT-006 IME Coalescing:仍存在(editor_command_pairing.dart:9) - DEBT-009 UTF8 边界:部分缓解(公式路径已切 SvgPdfWidget,mermaid 仍用 sanitizeSvgString) - DEBT-016 CJK static 污染:仍存在(pdf_exporter.dart:29-32),Phase 2 修复项 - DEBT-035 editor_screen legacy:无 @deprecated 标注,待补 §5.2 Debt Accepted 汇总表同步更新。 Task scope: Phase 2 / Engineering Debt 复检 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
_cjkFont / _cjkFontLoadAttempted / _cjkFontLoadFailedAt 是静态字段,跨测试 用例共享:测试 A 触发加载失败后 30 秒冷却期内测试 B 拿不到字体。 沿用 AGENTS.md §10 既定 clearCache() 模式(MermaidService / FormulaSvgService 先例);PdfExporter 为 facade 静态(§1.3 例外)不做实例化重构。 render_data_flow_test / export_integration_test 的 setUp 接线调用。 Task scope: Phase 2 / DEBT-016 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
editor_screen.dart(479 行 legacy 单 TextField 编辑器)被 EditorPage(WYSIWYG) 取代,经 /editor-legacy fallback 路由保留一个 release 周期。补 @deprecated 标注 + dartdoc 说明迁移状态;app_router.dart 唯一合法引用点加 ignore 注释 (fallback 路由是保留期内合法用法),保持 analyze 无 warning。 Task scope: Phase 2 / DEBT-035 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
文档整理轮(2026-08-22): - 35 篇 RUN 报告按类型归档: docs/runs/phase3.11/(16 篇 PHASE3.11-RUN-001~016) docs/runs/adl/(12 篇 ADL-LOOP-RUN,含 PLAN) docs/runs/dogfood/(7 篇 DOGFOOD-RUN) - 2 篇过期文档移入 docs/archive/: REFACTOR_DESIGN.md(被 ADR + Phase 3.10 Baseline 取代) PHASE1_TEST_PLAN.md(Phase 1 已完结) 顶层从 76 篇降为 40 篇,docs/ 结构可按类型导航。 Task scope: docs 整理轮 / 目录归档 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
文档整理轮(2026-08-22): - 修复 60 处断裂链接(含本次归档导致的 + 历史遗留的 docs/ 前缀路径 bug): 508 个本地链接验证后仅剩 1 个预期占位(phase3.1-verification-report.md, task-contract 未勾选的交付物) - 新增 docs/INDEX.md 全量索引(135 篇:顶层 40 + ADR 29 + contracts 16 + design 2 + releases 11 + archive 2 + RUN 35) - README 导航加入 INDEX 入口 + 归档标注 Task scope: docs 整理轮 / 链接修复 + 索引 Co-Authored-By: AtomCode (deepseek-v4-flash) <noreply@atomgit.com>
|
Claude finished @Thy985's task in 3m 39s —— View job Level 3 架构 Review — PR #166(docs 整理轮)审查范围
数据核对(已验证)
架构评审(Level 3)1. 信息分类学(Information Taxonomy)✅双层导航设计合理:
读者路径:README(新读者入口) → 分类清单 → 单篇 → INDEX 兜底反查。 评价:符合"分类导航 + 全量索引"双轨制,AI Agent 与人类读者都能用。 2. 可扩展性 ✅新增文档的扩展路径清晰:
INDEX.md 的 "3. RUN 报告" 三段式结构(phase3.11 / adl / dogfood)天然支持新增 3. 容灾 / 数据所有权 N/A文档组织变更,不涉及运行时容灾。 4. 性能 ✅
5. 安全 ✅docs/ 全为公开技术文档,无密钥 / 无 PII / 无内部信息外泄面。 6. 运维成本
|
| ID | 风险 | 等级 | 描述 | 缓解建议 |
|---|---|---|---|---|
| R1 | 链接一致性回归无防护 | 中 | 链接检查脚本未入库;INDEX/README 同步依赖人工 | 把链接检查脚本提交到 tools/docs-link-check/ 或 .agent/;CI 加 1 步 |
| R2 | 3 处 stale 引用 docs/REFACTOR_DESIGN.md(归档后路径) |
低 | WORKFLOW.md:52(file:// link)、GIT_WORKFLOW.md:42、contracts/phase3.0-task-contract.md:433(反引号文本) |
改为 docs/archive/REFACTOR_DESIGN.md 或加 "archived" 标注 |
| R3 | ROADMAP.md 仍有 15 处 file:///d:/Projects/Active/math/... 本地绝对路径 |
低 | 预存问题(非本 PR 引入),无法跨机器/GitHub 渲染 | 后续开专项 PR 把 file:// URL 全部转为相对路径 |
| R4 | INDEX.md 与 README.md 双轨漂移可能 | 低 | 两个文件都列出顶层 docs,单边更新即不一致 | 在 INDEX.md 末尾加 "索引基线日期" + CI 检查两边长度差 |
| R5 | docs/runs/ 命名规范的隐性约定 | 极低 | 目前约定为 PHASE3.11-RUN-NNN-主题.md / ADL-LOOP-RUN-NNN.md / DOGFOOD-RUN-NNN-主题.md |
INDEX.md 已在 §3 写明,但建议在 AGENTS.md §7 加一行规范 |
8. 归档决策评审
REFACTOR_DESIGN.md(926 lines) → archive/ ✅ 合理- 内容已被 ADR-0001~0030 + PHASE3.10-ENGINEERING-BASELINE-v1.md 完整取代
- 保留归档以备历史追溯,README/INDEX 标注 "已归档"
PHASE1_TEST_PLAN.md(842 lines) → archive/ ✅ 合理- Phase 1 已 Closed(PR Phase 1 Close Candidate: 测试体系 + 闭环文档 + ADR-0003 Implemented #23,2026-07-19),计划已兑现
- phase1-verification-report.md 仍在 releases/(保留验收证据),计划本身归档
- 保留顶层:WORKFLOW / GIT_WORKFLOW / CODING_RULES / DESIGN / UI_SPEC / TEST_SKIP_REGISTRY / UI_STATUS ✅ 决策合理
- 前三者 AGENTS.md §7 锚定
- UI_SPEC v2.0 是设计 source of truth
- 后两者仍在维护(Test/golden first batch #91/Fix/p0 realdevice issues #123 引用)
9. 工程化观察(加分项)
- 本 PR 未改一行代码,完全是 docs/ 内务治理
git push SKIP_PREFLIGHT=1跳过 CI analyze(合理:纯 docs 变更)- 提交粒度清晰:commit 1 = 归档(37 文件 rename,0 +/-),commit 2 = 链接 + 索引(10 文件)
- 索引文档自带 "索引核对" 章节(135 = 40+29+16+2+11+2+35),自我证明准确性
设计 Review(在 Level 1+2 之上)
数据所有权 / 边界 ✅
docs/archive/作为 "过期但保留" 的命名空间,语义清晰docs/runs/<phase>/把 "运行报告" 范畴与 "设计 / 决策 / 计划" 完全隔离- 顶层 40 篇 = 当前活跃文档,避免误把历史档案当现行
扩展性 / 演进路径 ✅
- 未来 Phase 4 启动后,可在
docs/runs/phase4/直接挂入,无需重构 - ADR 编号 0030 已是最高号,新增 ADR 自动接续
- contracts/phase4.*-task-contract.md 同样预留
最终结论:✅ 可以合并(建议 2 个 follow-up issue)
PR 166 本身:✅ 建议合并
- 实现所有声明目标(35 RUN 归档 + 2 过期归档 + 60 链接修复 + INDEX 135 篇)
- 文件数核对完全准确(135 = 40+29+16+2+11+2+35)
- 命名规范、信息分类、归档决策均合理
- 影响范围严格限定在 docs/,零代码风险
建议作为 follow-up issue(不阻塞合并):
-
Issue A — 链接检查脚本入库 + CI 接入
- 把 PR body 提到的 508 链接检查逻辑提交到
tools/docs-link-check/(或.agent/scripts/) - 在 CI 加 1 步
python tools/docs-link-check/check.py,下次 doc 改动自动拦截 - 配套修复 R2 的 3 处 stale 引用(
WORKFLOW.md:52/GIT_WORKFLOW.md:42/contracts/phase3.0-task-contract.md:433)
- 把 PR body 提到的 508 链接检查逻辑提交到
-
Issue B — ROADMAP.md 的 file:// 绝对路径专项清理
- 15 处
file:///d:/Projects/Active/math/...是开发机 Windows 路径,无法跨环境渲染 - 全替换为相对路径(
./releases/..././ADR/..././contracts/...) - 历史包袱超出 PR 166 范围,应单独 PR
- 15 处
一句话总结
这是一次教科书级的 docs 内务治理——数据自洽(135 数核对通过)、决策透明(保留/归档理由在 INDEX 写明)、变更可逆(git rename 不改内容)。架构层面只剩 链接一致性回归防护(R1) 与 历史 file:// URL(R3) 两个外部债务值得跟踪,本 PR 范围完美。
改动说明(what + why)
文档整理轮(2026-08-22):进入新阶段前的文档治理——docs/ 已有 81 个文件散落顶层、README 导航覆盖不全、RUN 报告堆积。按 Owner 确认的 4 个方向整理:归档 RUN 报告、过期文档归档、链接修复、建全量索引。
变更内容(2 个 commit)
commit 1 —
chore(docs)目录归档(37 文件 rename)docs/runs/phase3.11/(16 篇 PHASE3.11-RUN-001~016)docs/runs/adl/(12 篇 ADL-LOOP-RUN,含 PLAN)docs/runs/dogfood/(7 篇 DOGFOOD-RUN)docs/archive/:REFACTOR_DESIGN.md(被 ADR + Phase 3.10 Baseline 取代)PHASE1_TEST_PLAN.md(Phase 1 已完结)commit 2 —
docs(docs)链接修复 + 索引 + 导航(10 文件)docs/前缀路径 bug)docs/INDEX.md全量索引(135 篇:顶层 40 + ADR 29 + contracts 16 + design 2 + releases 11 + archive 2 + RUN 35)保留决策(诚实说明)
WORKFLOW / GIT_WORKFLOW / CODING_RULES:AGENTS.md §7 锚定文档,保留DESIGN / UI_SPEC:仍是设计 source of truth(UI_SPEC v2.0),保留TEST_SKIP_REGISTRY / UI_STATUS:近期仍在维护(Test/golden first batch #91/Fix/p0 realdevice issues #123),保留phase3.1-verification-report.md(task-contract 中未勾选的交付物占位,报告尚未产出,预期保留)测试方式
是否影响公共 API
是否更新文档
自测清单
备注
SKIP_PREFLIGHT=1(纯文档改动,无 Flutter 代码;analyze 无需跑)docs/前缀相对路径 bug(如docs/ADR/0009...在 docs/ 内部解析成docs/docs/...)已一并修复——这是 60 处断裂中的大部分