# 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`,因此未推送、未部署,等待具备远端认证后重试。