Skip to content

v0.13.0 — 封口批(v1.0 前 P0/P1 修复)

Choose a tag to compare

@Tianbuyu-wwx Tianbuyu-wwx released this 31 Aug 10:44
· 24 commits to main since this release

v0.13.0 — 封口批(v1.0 前 P0/P1 修复)

发布日期:2026-08-31 · npm @tianbuyu-wwx/dsh-formatforge@0.13.0 · 测试 538 passed / 0 fail
主题:清理 v0.10–v0.12 累积的协议不一致 + 文档漂移,为 v1.0 协议冻结做准备

✨ 新增

  • tools/_truncate.mjs 共用模块renderTruncate + smartTruncate,供 translate.mjs / result.mjs 共用
  • batch 透传 --quality / --encoding / --language:与 ff_translate 对齐;批量产出的 markdown 现在带 enhance 提示
  • 回归测试 test_builds_result_when_decision_noop:覆盖 conversion_needed=False 走 BuildResultStep 不崩
  • SKILL.md frontmatter 同步:补 version: 0.13.0 + updated: 2026-08-31
  • ConversionDecision.strategies 字段语义澄清:标明是「候选列表」而非「已执行」
  • 跨语言一致性测试 test-truncate-consistency.mjs:JS ↔ Python smartTruncate 9/9 一致,未来漂移自动捕获

🔄 变更

  • A1 多文件分页字段 meta.next_offsetpaging.next_offset(与单文件路径统一)
  • A3 cmd_translate_main 返回签名 (content, meta)(content, meta, enhance | None)
  • B1 ff_diff 复用 validateLocalFile 做 size clamp
  • B2 KNOWN_EXT 移除 .doc(同步 inbox-watcher + batch)
  • C1 render 截断走 renderTruncate(段落/行边界优先)
  • C6 id 匹配删除 includes 兜底(防 id="abc" 误命中 xxxabcxxx.ff.json

🐛 修复

  • 测试健壮性TestR11XlsxSchema / TestR11DocxRevisions / TestR11PptxAnimationspytest.importorskip——venv 漂移从 fail-成-ERROR 降级为 skip
  • dev.py hotfixscripts/dev.py step_ruff() 不收 quick 参数的循环调用 bug 修

🧪 验证

  • 537 → 538 passed(+1:B3 回归测试)
  • ruff ✓ · format ✓(54 files) · mypy ✓(48 files 0 issues) · bandit 0 High
  • Node test-local.mjs / test-inbox.mjs / test-manifest.mjs / test-truncate-consistency.mjs 全过
  • scripts/dev.py --publish --no-mypy 全套通过 + npm publish 成功

📦 Install

npm install @tianbuyu-wwx/dsh-formatforge@0.13.0
#
npx @deepseek-ai/dsh plugin add --profile web @tianbuyu-wwx/dsh-formatforge

完整变更见 CHANGELOG.md。下一步工作窗 B:ff_formats 能力元数据 + ff_diff 增量模式。