kai
09f681beb5
v0.7.2: 前置件排版重构 + emoji 禁令 + 引文核查
用户反馈 7 个 bug 修复:
1. 禁止 LLM 使用 emoji(全链路)
- scripts/prompts/translate_system.txt 增加规则 12
- scripts/prompts/polish_system.txt 增加规则 7
- .opencode/agents/dr-analyst.md Hard Rules 增加第 10 条(同时把 prompt 自身的 ✅❌ 改为 MUST / MUST NOT)
- .opencode/agents/dr-editor-in-chief.md 禁止事项加入 emoji 条款
- .opencode/skills/output-hygiene/SKILL.md 新增 §J emoji 强制禁用
2. 术语表位置错误(应在目录之后)
重构 build_body 为两阶段:
(a) 扫描所有前置件(第一个正文 H1 前的所有 H1/H2),按 title_kind 分组收集
(b) 按固定顺序渲染:免责声明 → 执行摘要 → 目录 → 术语表 → 正文 → 参考文献
无论 Markdown 原文顺序如何,排版都一致。
3. 执行摘要/术语表提升为一级标题 + 分页空页 bug
统一所有独立章节(disclaimer/executive_summary/toc/glossary/references)用 h1 样式,
章节前 PageBreak;但第一个独立章节不 PageBreak(封面后已换页,避免空白)。
去掉 build_toc 内部末尾 PageBreak(原双 PageBreak 夹出空白页)。
4. 参考文献分页
已作为独立章节自动分页。
5. 附录章节自动删除
_title_kind 识别 "appendix" / "version_history" / "abstract" 全部跳过。
正文中若写了这些章节,模板直接丢弃。
6. 信源完整性核查
新增 scripts/check_citations.py:
- 孤立引用(正文有 sources 无)检测
- 孤岛信源(sources 有正文无)检测
- emoji 扫描
- 实测发现项目中 61 条孤立引用(dr-analyst 编造的占位符)+ 5 条孤岛信源
7. git commit message 中文转义 bug
之前 commit 用 shell 双引号 + 反斜杠导致 \uXXXX 字面保留。
本 commit 用 heredoc 保证中文以 UTF-8 直接写入。
已 push 的历史不改,之后都用本 commit 的写法。
PDF 验证结果:55 页,0 空白页。
章节起始页:封面(1) - 免责声明(2) - 执行摘要(3) - 目录(5) - 术语表(7) -
第一章(12) - 第十章(48) - 参考文献(52)。
2026-04-22 16:31:01 +08:00
..
2026-04-22 16:31:01 +08:00
2026-04-21 13:02:54 +08:00
2026-04-22 16:31:01 +08:00
2026-04-21 12:31:58 +08:00
2026-04-21 13:02:54 +08:00
2026-04-22 13:31:05 +08:00
2026-04-21 13:02:54 +08:00
2026-04-21 12:31:58 +08:00
2026-04-22 13:31:05 +08:00
2026-04-21 14:44:03 +08:00