Preview fallback for fake docx artifacts and readable Office errors #96

Merged
weichen merged 11 commits from feature/preview-sniff-fallback into main 2026-10-01 05:20:49 +00:00
5 changed files with 35 additions and 2 deletions
+3
View File
@@ -11,3 +11,6 @@ runtime/
# ZCode CLI 会话生成的工具忽略文件(内容镜像 .gitignore,工具自动维护,不入库)
.zcodeignore
# Mimosa 安全扫描插件的逐会话状态(hook-status/reports/ledger,机器自动重建)
.mimosa/
@@ -52,7 +52,10 @@
| 同步前验收 | 9f2a7fb4b806bb63f43c3ee759bdbb1ab1f97720 | 21a92441dce7787b8c3eaeaf731aad9a58215836 | 2026-09-30T16:49:57Z |
| 同步前验收 | bb7f541d42dc6bd2609e59fed6760f22ed5c213e | dcb5bc0f727b5ceaf95b73b5ea514e63d9a89ae0 | 2026-09-30T17:17:46Z |
| 同步前验收 | 978dc80817e7240f0a45a390ed2a6334041e84dd | 4eec51a954c1271729a3659544eb891f0181d8c2 | 2026-09-30T17:19:17Z |
| 同步前验收 | d64742c71c1ebb8c1c88aef4c55194510f1cdf34 | 0b883469a2ad9f3b6b7cdb23c0ce0fb94d2d36b3 | 2026-09-30T17:51:59Z |
| 同步前验收 | f65d89e59b6974c7a5db63be0677d192bfaa7e9c | 7ababf2a5420ab6047212ca86403314ee619fb99 | 2026-09-30T18:10:55Z |
| 同步前验收 | 161fe684fc9ace176cae31a56a9337b2c0a70d59 | 29d24237f376fbf289b62c5e0df2c18679b90115 | 2026-09-30T19:19:50Z |
| 同步前验收 | 3108a27be8195bffbf3f647a996a952dba73a142 | 6b78db5977508c819e29cddf66768c08fd93a97a | 2026-09-30T19:31:01Z |
| 同步前验收 | 4c4071e5d8e256dd8f82ba9c74efa1effd1e9df3 | d62f6806d2ac19d8f069340c0dc8158e5f38983c | 2026-10-01T04:04:49Z |
| 同步前验收 | 4c4071e5d8e256dd8f82ba9c74efa1effd1e9df3 | eb33d7b76ad9f0c9f62918b9c4ea24dab1534441 | 2026-10-01T04:59:18Z |
| 同步前验收 | 76b2fb35a99e0847fff832b4e14e5766ea474c4e | 62d39037afafc98a6bbad3689cf479a299bc4ad8 | 2026-10-01T05:20:28Z |
+27
View File
@@ -0,0 +1,27 @@
# feature/preview-sniff-fallback 任务卡
任务主记录:Dev PR #96 https://git-home.u1680832.nyat.app:30319/weichen/Agent-System-Dev/pulls/96(子仓:UI PR #21、Frontend PR #22);状态:进行中;owner:weichen
## 基线与授权
- 权威仓:ssh://git@git-ssh.u1680832.nyat.app:31411/weichen/Agent-System-Dev.git;目标分支:main;R0(initial_base_sha)= d64742c71c1ebb8c1c88aef4c55194510f1cdf34
- 工作区:/home/weichen/projects/Agent-System-Dev-wt-feature-preview-sniff-fallback(worktree);分支:feature/preview-sniff-fallback
- 授权与交付终点:用户已批准「研发智能体文档处理与自举方案评审会议纪要.docx 解析失败」整改方案中的渲染侧兜底轨道。允许:modules/ui、modules/frontend 代码与测试、父仓 .gitignore 与 gitlink 推进、推送分支并建 PR。终点=PR 建立;合入权在所有者(不自行代签合入)。
## 目标与非目标
- 根因:智能体经 write_artifact/fs_write_file 写出的 ".docx" 实为纯文本字节(生成侧无 OOXML 序列化),前端按扩展名派给 mammoth/JSZip 抛 "Can't find end of central directory"。本轨道只做渲染侧兜底,让存量坏文件可读、错误可解释。
- 改动:① previewKindOf 将 `.doc`(老版二进制 Word,非 OOXML)归 binary,不再派给 mammoth;② OfficePreview 失败态文案收敛为用户可读提示(原始错误进 console);③ docxLoader 喂 mammoth 前嗅探 ZIP 魔数(PK\x03\x04),非 ZIP 按文本/markdown 回退渲染并提示;④ 父仓 .gitignore 收编 `.mimosa/`(Mimosa 插件逐会话状态目录反复弄脏树、阻塞 precheck)。
- 非目标:不实现真正的 docx 生成;不动后端。xlsx/pptx 的 ZIP 嗅探已在本分支补上(2026-10-01);老版 .xls/.ppt 仍走原解析器。
## 同步记录
| 节点 | sync_base_sha | tested_head_sha | checked_at |
|---|---|---|---|
| 启动 | d64742c71c1ebb8c1c88aef4c55194510f1cdf34 | d64742c71c1ebb8c1c88aef4c55194510f1cdf34 | 2026-09-30T17:46:06Z |
## 结果与验证(完成后填写)
- 结果:UI e082889(含 origin/main 与 `.doc`→binary、Office 错误文案收敛);Frontend bfa634d(docx/xlsx/pptx 非 ZIP 按文本回退,.xls/.ppt 除外);父仓 .gitignore 含 `.mimosa/`。分支已并入 origin/main(a11fed4)。
- 验证:合并后 UI vitest 68、Frontend vitest 40,两边 tsc 通过。Dev `make test` 通过(core、backend、frontend 40、ui 68、agent-command,2026-10-01)。
- 影响与剩余项:伪 Office 文件预览可读。生成侧执行器在 feature/exec-interpreters,不在本 PR。合入顺序:UI #21 → Frontend #22 → Dev #96。