兼容性
当前团队适配协议主版本为 API 1,Schema 版本为 1.0,输出上下文版本为 1。核心包校验、规则计算、方案修订和资源存储由 Tidoc 核心负责。DOCX 和材料 PDF 由独立打印组件渲染。
缺少打印组件时,条目整理及核心 Excel、附件包功能仍可用。Word 和材料 PDF 会报告所需组件或能力。打包含 DOCX 的适配包要求安装打印依赖并完成模板校验及 fixture 渲染。
打印进程支持旧 BITFSAE IPC v1 转换和 IPC v2 请求。v1 固定字段只留在兼容转换器,业务输出按包声明运行。v1 请求先转换为稳定输出上下文,再进入同一 v2 校验和渲染器。--capabilities 报告实际资源及能力,缺少旧模板或组织设置时不宣称支持 v1。
核心和组件共用唯一的 context.schema.json 及共享字段目录。核心四类输出的预检均校验完整上下文;打印 IPC 在实际渲染前再次校验,v1 转换结果、源码和外部进程都执行同一检查。Schema 校验与资源路径、主体隔离和模板字段权限检查分别执行。校验诊断只给 JSON Pointer 和约束,不回显无效值。
Schema 通过 $defs 复用结构;export.options 和 completeness 拒绝未声明属性。运行时传入的数据不能扩大公共字段权限,内部投影也必须通过同一检查。
打印组件实际依赖 requirements-print.txt 中的 jsonschema。缺少该依赖或 context Schema、Schema 损坏时,能力查询报告缺项,并停用 DOCX、PDF 以及相关 IPC 和上下文能力,自检返回失败。核心自检也检查 context Schema。组件必须打包共享 Schema、字段目录、旧模板和组织设置;具体路径见更新说明。它不依赖核心数据库、API 或 adapters.registry。
打印自检通过正式 IPC 实际生成并检查 DOCX 和两页材料 PDF,从而核验依赖加载及真实渲染。模块可被定位、但运行库无法加载时也会报告 COMPONENT_SELF_TEST_FAILED;能力查询须配合自检结果判断。
本轮工作区打印组件版本为 0.1.21,尚未构建或发布。版本用于后续更新通知,协议及渲染支持仍按实际能力查询判断。
CI 配置包含适配样例和打印协议测试;当前源码全库运行、Node 源码语法检查与核心/打印源码自检已通过,包含来源 Schema 诊断、自检及初始记录失败恢复回归。旧测试依赖的本机真实发票样本不在仓库中,相关项目跳过,适配测试没有跳过。真实成品安装、旧组件组合、升级数据保留和办公软件验收见计划覆盖记录,不能由源码测试推定通过。
未来协议主版本变化时,需提供迁移说明和转换路径。兼容能力按协议和组件公开能力判断,不能只比较软件版本号。
