The fidelity contract
While you are attached, your terminal shows the agent’s own bytes. This page lists what that promise covers and the test behind each part. It is part of the architecture.
Every row has a test.
| Feature | How simstim keeps it | Test |
|---|---|---|
| Keys: kitty protocol, modifyOtherKeys, Shift+Enter, Option/Alt | Raw input bytes. The filter matches only two keys and never re-encodes. On reattach, the snapshot restores the kitty flags. | simstim doctor keys, run end to end |
| Truecolour, styled underlines | TERM=xterm-ghostty with its terminfo installed on the host. COLORTERM=truecolor. The client’s TERM_PROGRAM is passed through. | Fixture replay |
| Native scrollback and Cmd+F | Output lands in the local terminal’s normal screen. No RIS. Replay by offset avoids duplicates. | Manual check plus fixture |
| OSC 52 clipboard | Passed through. Clipboard reads go to the local terminal’s own prompt. | Manual |
| OSC 8 links, OSC 9 and 777 notifications, OSC 9;4 progress | Passed through. Missed ones are collapsed into one notice on reconnect. | Fixture |
| Synchronized output (mode 2026) | Passed through, so no flicker | Fixture |
| Mouse, focus, bracketed paste | Passed through, and reset on detach | x/vt baseline after detach |
| Terminal queries (DA, XTVERSION, OSC 10/11, kitty query) | The leader’s terminal answers. With no client attached, the vt child answers from a cached profile. | Fixture with no client |
| Resize | The leader rule, plus SIGWINCH on every attach | Manual, two devices |
| Kitty graphics, sixel | Passed through while attached. Not restored on reattach. This is a known limit. | Documented |
| Added delay per keystroke | Target: under 1 ms on the client | Performance overlay |