简体中文
外观
本阶段推进 GAP-24.2 的 Markdown/SVG 内嵌恢复子目标,同步补充 GAP-24.4 的往返证据。此前两个格式都需额外传递恢复 ZIP;现在一个标准 .md 或 .svg 即可携带既有模型、字体及许可,重新打开、编辑并导出。原 HTML 便利入口保持,通用 API 复用相同 version 1 封装与准确字节绑定。
.md
.svg
XmlModelRecovery.openEmbedded(format, bytes)、Saved.embeddedBytes() 和两个 writeEmbedded 重载仅接受 HTML、MARKDOWN、SVG。末尾 Base64 注释在 CommonMark 和标准 SVG 中均不显示;注释以外字节保持不变。外部改字或 SVG 改色会使旧绑定失效,损坏封装/摘要、预算、取消及 I/O 不受损失策略放行。有损捕获不隐藏较丰富的源模型。
XmlModelRecovery.openEmbedded(format, bytes)
Saved.embeddedBytes()
writeEmbedded
当前 Markdown 可显式设置 WARN/IGNORE + DEGRADE 并经 MarkdownImporter 导入,重存只包含当前文字。SVG 没有内置矢量→段落/表格读取器;缺少有效恢复信息且未显式提供可信 fallback 时,三动作均不能恢复旧模型。设计见 ADR-0089,用法见恢复指南。
MarkdownImporter
Java 21 与项目 Gradle Wrapper;Python 3.12.14、markdown-it-py 4.0.0、pypdf 6.10.0、pypdfium2 5.13.0、Pillow 12.3.0、Poppler 26.07.0。沿用已登记的 Liberation Sans 及许可,没有新增模块、Java 运行依赖或素材。
.\gradlew.bat build sbom publishLocalBundle :examples:modelRecovery :examples:embeddedHtmlRecovery :examples:embeddedCommentRecovery --no-daemon --console=plain
按隔离调用方流程生成新的成功构建目录;在同一调用方运行 modelRecovery embeddedHtmlRecovery embeddedCommentRecovery resolvedLibraries 后执行:
modelRecovery embeddedHtmlRecovery embeddedCommentRecovery resolvedLibraries
python scripts/verify_embedded_comment_recovery.py --consumer-build-directory <本次成功目录> python scripts/verify_embedded_html_recovery.py --consumer-build-directory <本次成功目录> python scripts/verify_model_recovery.py --prepare-external .\gradlew.bat :examples:modelRecoveryExternal --no-daemon --console=plain python scripts/verify_model_recovery.py --consumer-build-directory <本次成功目录>
样例见 examples/build/embedded-comment-recovery/,独立报告和渲染见 build/verification/embedded-comment-recovery/。CommonMark 渲染为 HTML 后与 SVG 分别在浏览器查看;这是显示验收,不是任意编辑器保存回读。
examples/build/embedded-comment-recovery/
build/verification/embedded-comment-recovery/
build sbom publishLocalBundle
PDF、DOCX、PNG 内嵌、一般复杂跨格式模型及真实编辑器重存继续登记。没有有效恢复信息的任意 SVG 语义识别仍未提供;有限语义和浏览器显示证据不关闭整个 GAP-24。
阶段八十四验收:Markdown 与 SVG 单文件恢复
本阶段推进 GAP-24.2 的 Markdown/SVG 内嵌恢复子目标,同步补充 GAP-24.4 的往返证据。此前两个格式都需额外传递恢复 ZIP;现在一个标准
.md或.svg即可携带既有模型、字体及许可,重新打开、编辑并导出。原 HTML 便利入口保持,通用 API 复用相同 version 1 封装与准确字节绑定。契约与边界
XmlModelRecovery.openEmbedded(format, bytes)、Saved.embeddedBytes()和两个writeEmbedded重载仅接受 HTML、MARKDOWN、SVG。末尾 Base64 注释在 CommonMark 和标准 SVG 中均不显示;注释以外字节保持不变。外部改字或 SVG 改色会使旧绑定失效,损坏封装/摘要、预算、取消及 I/O 不受损失策略放行。有损捕获不隐藏较丰富的源模型。当前 Markdown 可显式设置 WARN/IGNORE + DEGRADE 并经
MarkdownImporter导入,重存只包含当前文字。SVG 没有内置矢量→段落/表格读取器;缺少有效恢复信息且未显式提供可信 fallback 时,三动作均不能恢复旧模型。设计见 ADR-0089,用法见恢复指南。可复现入口
Java 21 与项目 Gradle Wrapper;Python 3.12.14、markdown-it-py 4.0.0、pypdf 6.10.0、pypdfium2 5.13.0、Pillow 12.3.0、Poppler 26.07.0。沿用已登记的 Liberation Sans 及许可,没有新增模块、Java 运行依赖或素材。
按隔离调用方流程生成新的成功构建目录;在同一调用方运行
modelRecovery embeddedHtmlRecovery embeddedCommentRecovery resolvedLibraries后执行:样例见
examples/build/embedded-comment-recovery/,独立报告和渲染见build/verification/embedded-comment-recovery/。CommonMark 渲染为 HTML 后与 SVG 分别在浏览器查看;这是显示验收,不是任意编辑器保存回读。实际结果
build sbom publishLocalBundle通过,1,471 项测试,0 失败/错误/跳过。11 个新增行为实例验证两格式三轮/资源及实际改字、外部修改/格式冲突、缺失与无读取器拒绝、损坏/重复封装、有损隐藏禁止、预算、取消、借用流和原子目标;原 HTML 行为测试通过后续独立项
PDF、DOCX、PNG 内嵌、一般复杂跨格式模型及真实编辑器重存继续登记。没有有效恢复信息的任意 SVG 语义识别仍未提供;有限语义和浏览器显示证据不关闭整个 GAP-24。