ci: export xcresult attachments in cmux-next-ios-sim evidence
scripts/ci/cmux-next-ios-sim.sh keeps each xcresult's log, console, tests.json and counts, but not its attachments. A UI test's keepAlways screenshots (for example #27372's AgentChatJumpCaptureUITests) stay inside the bundle, and the evidence zip never carries them, so a UI capture step comes back with no images.
keep_test_logs now also runs xcrun xcresulttool export attachments into $out/<name>-attachments/ (the screenshots plus the manifest.json that maps each file to its test). It applies to both the kit and UI bundles. Like the other xcresulttool calls there it is || true, so a bundle with no attachments, or a failed export, changes nothing else.
Risk: low. The change is CI-script only, adds 4 lines and changes no test selection or exit status. The step's zip gets bigger by the size of the attachments.
Checked: bash -n; xcresulttool export attachments --help matches the flags used (--path, --output-path).
Agent session: agent session
š¤ Generated with Claude Code
![View with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/view-with-codesmith-dark-v3-3x.png)
![Autofix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/autofix-with-codesmith-dark-3x.png)
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
Exports xcresult attachments in cmux-next-ios-sim CI evidence so UI test screenshots (like keepAlways captures) reach the evidence zip.
- A new
xcrun xcresulttool export attachmentscall writes the files plusmanifest.jsonto$out/<name>-attachments/for both kit and UI bundles. - The export is
|| truelike other xcresulttool calls, so bundles with no attachments or failed exports don't change anything else; the zip just grows by the size of the attachments.