ci / vet-and-test (pull_request) Successful in 58s
Why: A second broken pptx passed the shipped gate despite being unopenable in Office: parts were all present but presentation.xml and the master used an undeclared xmlns:r prefix, sldIdLst listed 12 slides while the rels file wired only one, and [Content_Types].xml overrode only slide1. The prior part-existence checks cannot see any of these; the generating instance also predated the first gate deployment. Evidence: The upgraded gate rejects the real broken file (undeclared xmlns:r) and 16 synthetic break cases spanning both incident classes, while passing the manually repaired package and kit output; python round-trip on the repaired deck extracts all 12 slides. Full-suite receipt follows on the task card. Impact: register_artifact now enforces strict namespace declarations across every XML part, bidirectional consistency between id-lists and relationships (presentation and masters), and per-part content-type overrides. Error messages name the broken reference. run_python prompt v3 adds that failed kit attempts must retry through the kit, never fall back to hand assembly. Refs: Dev task feature/pptx-gate-reference-integrity
1.1 KiB
1.1 KiB
id, layer, version, title, description
| id | layer | version | title | description |
|---|---|---|---|---|
| tool.run_python | tool | 3 | run_python 工具描述 | Python 执行原语的模型侧说明文案 |
执行完整 Python 脚本(python3,工作目录=会话工作区)。适用:数据处理、生成 Excel/PPT/图片(housestyle kit)、批量操作。Word 交付物优先写 .md 源后用 run_shell 跑 python3 -m housestyle.build。任何 Office 交付物(docx/xlsx/pptx)都禁止用 zipfile 或字符串手工拼 OOXML——手拼的包缺母版与主题,register_artifact 的结构自检会直接拒绝;一律走 housestyle kit 构件。缺库先 pip install --user python-pptx python-docx openpyxl,装不上就如实告知用户当前环境无法生成本类交付物,不要退回手拼。kit 路线执行失败(报错、超时、后台任务溢出)时,修复后仍走 kit 路线重试——任何失败都不构成退回手工拼 OOXML 的理由。报错先读退出码与 traceback 定位行号再改,同一错误不要原样重跑。生成带排版的文件(xlsx/pptx)先读 $AGENT_SKILLS_DIR/house-style/SKILL.md 的构件表,不确定签名先 inspect.signature。