verification: chromium /usr/bin/google-chrome, repo Playwright 1.60.0, web composer -> attachment upload -> document text worker -> Codex gpt-6.1-sol -> rendered reply source document: https://raw.githubusercontent.com/apache/poi/trunk/test-data/document/shapes-with-text.docx source sha256: 1ef4d8cbfd5e2333897ab3193b58ce445cee7e45476d39e5626a4c7097f72d95 github/main server web port 8693 HEAD 61c3794c32b0eeebfac09add43e403618c65d2d7 finalized attachment bytes match original: true actual extracted sidecar: "2286000Floating text boxFloating text box266700819150A square shape with text insideA square shape with text inside3171825314325An ellipse with text insideAn ellipse with text inside25717520764503495675146685003209925A group of shapesWhere some contain textA group of shapesWhere some contain text13239754733925" Floating text box: 2 A square shape with text inside: 2 An ellipse with text inside: 2 A group of shapes: 2 Where some contain text: 2 literal counts: {"Floating text box":2,"A square shape with text inside":2,"An ellipse with text inside":2,"A group of shapes":2,"Where some contain text":2} pr 29827 server web port 5733 HEAD 18d9b24748b5e2758b9f672d6f268ddf81152817 finalized attachment bytes match original: true actual extracted sidecar: "2286000Floating text box266700819150A square shape with text inside3171825314325An ellipse with text inside25717520764503495675146685003209925A group of shapesWhere some contain text13239754733925" Floating text box: 1 A square shape with text inside: 1 An ellipse with text inside: 1 A group of shapes: 1 Where some contain text: 1 literal counts: {"Floating text box":1,"A square shape with text inside":1,"An ellipse with text inside":1,"A group of shapes":1,"Where some contain text":1} PR neighboring table sidecar: "SDT Cell 1\tSDT Cell 2" Codex rendered table reply: SDT Cell 1\tSDT Cell 2 existing focused tests via blacksmith-check: userInputAttachments.test.ts, 30/30 passed no source modifications