| 1 | # `present` tool acceptance evidence |
| 2 | |
| 3 | Date: 2026-09-13 |
| 4 | Source: current `fix/harness-chat-transcript` worktree |
| 5 | |
| 6 | ## End-to-end UI replay |
| 7 | |
| 8 | The production transcript path replays a completed turn containing a trusted |
| 9 | built-in `present` result for an HTML file and a Markdown file. The replay |
| 10 | asserts that the successful tool result stays inside the collapsed process, |
| 11 | while both deliverables remain mounted after the final answer as independent |
| 12 | cards. |
| 13 | |
| 14 | - [Chromium deliverable cards](./chromium-presented-files.png) |
| 15 | - [WebKit deliverable cards](./webkit-presented-files.png) |
| 16 | - [Electron deliverable cards](./electron-presented-files.png) |
| 17 | - Raw measurements: [Chromium](./chromium-results.json), |
| 18 | [WebKit](./webkit-results.json), [Electron](./electron-results.json) |
| 19 | |
| 20 | ## Measured production-path results |
| 21 | |
| 22 | | Host | 240-turn input P95 | 1,000-turn input P95 | 1,000-turn longest task | session switch P95 | anchor drift | |
| 23 | |---|---:|---:|---:|---:|---:| |
| 24 | | Chromium 153 | 36.2 ms | 128.7 ms | 269 ms | 38.1 ms | 0 px | |
| 25 | | WebKit 26.6 | 45 ms | 131 ms | unavailable in WebKit | 56 ms | 0 px | |
| 26 | | Electron 44.2 | 35.3 ms | 52.4 ms | 277 ms | 28 ms | 0 px | |
| 27 | |
| 28 | All measured values satisfy the 200 ms input, 300 ms switch, 500 ms long-task, |
| 29 | and 2 px reading-anchor limits. Chromium reported 225,980 bytes of released |
| 30 | heap growth after the switch loop, below the 20 MiB limit. WebKit does not |
| 31 | expose the Long Tasks API in this runner, so no WebKit long-task claim is made. |
| 32 | |
| 33 | ## Automated checks completed |
| 34 | |
| 35 | - Frontend typecheck, hook lint, production build, CSS/theme/layer contracts, |
| 36 | and bundle budgets. |
| 37 | - Transcript, workspace, remote-session, lifecycle, pagination, and long-history |
| 38 | suites, including the 240-turn and 1,000-turn browser paths. |
| 39 | - Built-in tool, provider projection, transcript, event wire, Serve history, |
| 40 | agent, controller, boot, and product-document Go suites. |
| 41 | - Race checks for the tool/provider/transcript/event path and selected desktop |
| 42 | file-preview/remote-present actions. |
| 43 | - Trusted-path regression checks, including current-policy revocation, remote |
| 44 | route-generation fencing, and source-host absolute-path resolution. |
| 45 | - Electron typecheck and 192 shell tests, including a regression assertion that |
| 46 | Node integration is disabled in guest frames and workers. |
| 47 | |
| 48 | ## Platform limits of this run |
| 49 | |
| 50 | Chromium, WebKit, and Electron were executed on macOS arm64. Windows sandbox |
| 51 | logic is covered by automated tests but was not executed on a Windows host in |
| 52 | this run. The legacy native WebView host, a live SSH server, native Office apps, |
| 53 | and every host-specific audio/video codec were not manually verified here. |
| 54 |