feat(writer): docx 注入原型提前(T17 架构审查整改,OV8)
- T17 (OV8, P1): 新建 src/genesis/writer/ 包
- docx_injector.py: DocxInjector 用原生 python-docx 实现 §6.6 占位符注入
- 章节级 {{section:id}} → 内容块 docx 元素序列(heading/paragraph/table)
- 行内 {{meta}} → 元信息填充
- 残留检查: 未替换 {{...}} 抛 DocxInjectError
- 格式精度: 注入 heading 继承模板 Heading 样式,原内容不被破坏
- 新增 test_docx_injector.py(5 用例)
- 同步 design.md §6.7 渲染链路 T17 原型说明
- TDD: RED(模块缺失)→ GREEN(聚焦 5 passed)→ 全量 245 passed / 100.00%(1361 stmts/340 br)
This commit is contained in:
@@ -852,6 +852,15 @@ ContentBlock(JSON,LLM 输出)
|
||||
注入: 按 §6.6 占位符 / §6.5 Heading 定位写入模板
|
||||
```
|
||||
|
||||
> **T17 docx 注入原型(OV8,已落地 `src/genesis/writer/docx_injector.py`)**:
|
||||
> 将最难的「格式精度」成功标准提前验证。原型用原生 python-docx 实现 §6.6 占位符注入:
|
||||
> - 章节级 `{{section:id}}` → 替换为内容块渲染的 docx 元素序列(heading/paragraph/table)
|
||||
> - 行内 `{{meta}}` → 元信息填充
|
||||
> - **残留检查**:未替换 `{{...}}` 视为渲染失败(抛 `DocxInjectError`),与 §6.6 规范约束一致
|
||||
> - **格式精度**:注入 heading 继承模板对应 Heading 样式(如 `Heading 2`),原有模板内容样式不被破坏
|
||||
>
|
||||
> 该原型在 Writer 完整实现前即可独立验证 docx 注入关键路径,规避「格式精度排末尾导致返工」的风险。
|
||||
|
||||
**模板样式映射表**(渲染器配置):
|
||||
|
||||
```yaml
|
||||
|
||||
Reference in New Issue
Block a user