# PROGRESS · 报告 CRLF 围栏剥离修复(BUG-1020,2026-09-24) ## 当前结论 已按 D14 有限例外完成最小修复:图盘语言围栏的两个换行边界均接受 LF/CRLF;未标准化整篇正文。真实虚构 reader golden 的 LF、CRLF、混合换行均不再残留 JSON 围栏,LF 输出保留冻结 SHA。实现及初始回归已在本地提交;当前最终状态见交付状态,尚未取得 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。完整测试 3682 pass / 84 fail(失败名称与基线既有环境失败一致,未因本单新增);build 因 Windows Skill symlink/动态文件系统 tracing 在 `/api/birth-time-guide` 失败;真机/部署按清单如实记录。 ## 既有断言三栏 | 原值 | 新值 | 原因 | | --- | --- | --- | | 旧 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 逐字节锁 | ## 交付状态 已整理为本地提交 `9f12ae546b92fc168c1897056f9f273f17aeecec`;按任务书同步 `origin/staging` 后尝试 `git push origin HEAD:staging`,远端返回 `Failed to authenticate user`,因此未推送、未部署,等待具备远端认证后重试。