Files
Jyotisha/docs/tasks/PROGRESS-report-chapter-export-fix-20260924.md
T

32 lines
2.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# PROGRESS · 报告 CRLF 围栏剥离修复(BUG-1020,2026-09-24)
## 当前结论
已按 D14 有限例外完成最小修复:图盘语言围栏的两个换行边界均接受 LF/CRLF;未标准化整篇正文。真实虚构 reader golden 的 LF、CRLF、混合换行均不再残留 JSON 围栏,LF 输出保留冻结 SHA。已提交 `d0cec97071f6979c59453d1a011c0f67639a61f9`;推送 staging 时远端认证失败,尚未取得 staging/deploy health 验收。
## 实现与验收
| 项 | 证据 | 结论 |
| --- | --- | --- |
| FENCE_RE | `frontend/src/lib/report-chart-block.ts` 仅将围栏边界 `\\n` 改为 `\\r?\\n` | 通过 |
| CRLF / 混合 golden | `report-chart-block.test.ts` 与 `report-export-blocks.test.ts` 使用真实 `report-density-fictional-reader.json`;输出 JSON 围栏 0、SVG 22、普通泄漏 0 | 通过(23/23) |
| LF 历史行为 | 普通导出 SHA256 `3c52e8bfcfcb3ce3852bd5323867a69bc47d0f9aa821a34692172e7d61c6bcb8` 冻结并断言 | 通过(23/23) |
| D5 范围 | CRLF 差异仅移除围栏及紧邻换行;未替换正文换行、未改 SVG/投影/生成链 | 通过 |
## 测试与环境
- 开工 pre-work check 已运行:远端可见性、适配器和碎片扫描通过;focused preflight 复现既有 `.workbuddy/skills/jyotish-vedic-astrology` 镜像路径断言失败,整体退出 1。未改测试、未伪造镜像。
- 定向报告测试 23/23 通过;`tsc --noEmit` 通过;`npm run lint` 0 errors、119 个既有 warnings。完整测试/build、真机/部署按清单如实记录。
## 既有断言三栏
| 原值 | 新值 | 原因 |
| --- | --- | --- |
| 旧 FENCE_RE 语言标记后仅匹配 `\\n` | 语言标记与围栏尾部均匹配 `\\r?\\n` | D14 仅允许删除 CRLF/混合输入残留 JSON 围栏;不改变 LF 既有输出 |
| 无真实 CRLF JSON 禁止断言 | 真实 golden 的 CRLF/混合换行输出 0 围栏、22 SVG、ordinaryOutputLeaks 为空 | BUG-1020 防复发;避免只比较两个共同修改后的 helper |
| 无冻结普通导出 hash | LF golden SHA256 固定为 `3c52e8bfcfcb3ce3852bd5323867a69bc47d0f9aa821a34692172e7d61c6bcb8` | D5 LF 逐字节锁 |
## 交付状态
已提交 `d0cec97071f6979c59453d1a011c0f67639a61f9`;按任务书同步 `origin/staging` 后尝试 `git push origin HEAD:staging`,远端返回 `Failed to authenticate user`,因此未推送、未部署,等待具备远端认证后重试。