v0.13.0 — 封口批(v1.0 前 P0/P1 修复)
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.mdfrontmatter 同步:补version: 0.13.0+updated: 2026-08-31ConversionDecision.strategies字段语义澄清:标明是「候选列表」而非「已执行」- 跨语言一致性测试
test-truncate-consistency.mjs:JS ↔ Python smartTruncate 9/9 一致,未来漂移自动捕获
🔄 变更
- A1 多文件分页字段
meta.next_offset→paging.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/TestR11PptxAnimations加pytest.importorskip——venv 漂移从 fail-成-ERROR 降级为 skip - dev.py hotfix:
scripts/dev.pystep_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 增量模式。