v0.11.0 — direct OOXML XML editing (read_doc_xml / set_doc_xml)
Documents ARE XML. New universal deterministic primitive (no LLM, no key) on contextifier's byte-preserving raw layer:
list_doc_parts(doc)— map of every part (slides, charts, styles, sheets…)get_doc_xml(doc, part)— a part's exact XML textset_doc_xml(doc, part, edits|xml)— exact find/replace patches or whole-part replace; result must stay well-formed XML or nothing is written; untouched parts stay byte-identical
Together with the structured verbs this expresses every edit OOXML can — recolor chart bars, fonts, fills, geometry — through tools instead of raw python-pptx. Wired across all three surfaces (facade, agent_tools, MCP). Tested end-to-end: chart-series recolor via XML patch, read back as FF0000 by python-pptx.