Commit Graph

3 Commits

Author SHA1 Message Date
caoqianming fafcb14d86 skill(proposal): mermaid 文件名 hash→caption + quality_check 加图相关 4 拦截 + SKILL.md 精简; web cache fix
用户报"图没渲染到 docx",诊断后修三件事(同一根因链):
- web/app.py /v1/files/download 加 Cache-Control: no-cache
  Starlette FileResponse 只发 ETag/Last-Modified, 浏览器走启发式缓存,
  workspace 文件改了 SPA 预览看不到新版
- quality_check 新 check_figures(): 4 条规则
  1) figures/ 有 png 但 sections 0 个 ![]() 引用
  2) fenced 代码块出现 box-drawing 字符 (┌─┐│└─┘ 等)
  3) mermaid 块必须有首行 %% caption: <题>
  4) 同 task 内 mermaid caption 不能撞名
- render_diagrams.py: hash → caption 命名
  pass-1 验证 caption 完整 + 全 task 唯一, 缺/撞 退 2
  pass-2 渲染落 fig_<sanitized>.png, 总是覆盖
- render_docx.py: mermaid 块按 caption 查 fig_<caption>.png
  无 caption / 清洗空 / png 缺 → ASCII fallback
- SKILL.md ~193 → ~160 行:
  插图段 49→22 行(压 matplotlib 细节 + 删类型选择展开)
  反模式合并 ASCII/占位/手写图编号/缺 caption/撞名
  删"为什么两段式"长说理段

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-19 10:19:09 +08:00
caoqianming 647d92f532 proposal+ppt: 路径用 <skill_dir>, 补 spec_lock 模板与 --spec 覆盖度检查
按代码评审建议改的 5 项:

1. 所有脚本/资源路径改成相对 <skill_dir> (load_skill 头里的绝对路径),
   不再假设 cwd 是 zcbot 仓库根。proposal+ppt 的 SKILL.md / icons.md /
   INDEX.md 都改了。

2. quality_check.py REQUIRED_SECTIONS 给 key_rd 补上 11_team /
   12_budget / 13_appendix —— 之前模板有但检查没到, 缺团队/预算/附件
   也会显示结构完整。

3. 新增 templates/spec_lock.md, 把"八条对齐"固化成可复制字段
   (含考核指标矩阵表 + TODO 列表 + 引文清单), 阶段二/三都从这里读。

4. quality_check.py 加 --spec <spec_lock.md> 选项, 解析 spec 中的
   考核指标矩阵, 关键词模糊匹配 sections, 提示哪些指南指标在正文
   未充分覆盖。SKILL.md 阶段三命令同步。

5. SKILL.md 新增"阶段零: 摄取素材", 用 run_python + pypdf/python-docx/
   openpyxl 把 PDF/DOCX/XLSX 转成 source/*.md, 不再要新脚本。同时
   把 spec_lock 字段引用改写到模板。

顺带:
- proposal SKILL.md 明确 7 类基金里只有 3 类 (key_rd/major_project/
  nsfc_joint_fund) 有完整章节模板, 其它 4 类复用骨架, 差异查 fund_types.md
- ppt SKILL.md 阶段三命令路径错误 (python scripts/quality_check.py)
  顺带修了
2026-05-07 16:05:44 +08:00
caoqianming 2b1e2143f1 proposal skill v2: 6 类基金分型 + 3 套章节模板 + 渐进披露
参考重大专项任务书 / NSFC 联合基金 2026 / 重点研发"区块链"申报书
3 份真实 docx,从 80 行 SKILL.md 拆成 13 文件 (~2.6k 行):
- references/{fund_types,section_templates,review_redlines,citation_gbt7714,budget_rules,typography}.md
- templates/{key_rd,major_project,nsfc_joint_fund}.md
- scripts/{render_docx,word_count,quality_check}.py

核心补强:任务书/申报书/申请书结构差异、字数预算硬约束、考核指标
量化要求、间接费用台阶比例、GB/T 7714 文献规范、字体行距等排版硬规则。
2026-05-07 08:50:19 +08:00