{ "name": "chrome_survives_origin_mode", "cols": 120, "rows": 40, "scripts": [ { "name": "origin-mode", "body": "#!/bin/sh\n# Child TUIs are allowed to use DEC origin mode internally, but the\n# host chrome must never inherit it. If CSI ? 6 h reaches the real\n# terminal, patterm's absolute CUPs for the tab bar/status/sidebar are\n# interpreted relative to the child scroll region and chrome appears\n# inside the viewport.\nprintf 'ORIGIN READY\\n'\nsleep 0.1\nprintf '\\033[5;20r'\nprintf '\\033[?6h'\nprintf '\\033[1;1HORIGIN MODE ACTIVE\\n'\nsleep 0.2\nprintf 'ORIGIN DONE\\n'\nsleep 5\n" } ], "steps": [ { "type": "mcp_call", "method": "spawn_process", "params": { "kind": "command", "argv": ["origin-mode"], "name": "origin-mode" } }, { "type": "wait_text", "contains": "ORIGIN DONE", "timeout_ms": 5000 }, { "type": "wait_stable", "timeout_ms": 2000 }, { "type": "assert_contains", "contains": "+ new" }, { "type": "assert_contains", "contains": "Processes" }, { "type": "assert_contains", "contains": "Agent Tree" }, { "type": "assert_contains", "contains": "Scratchpads" }, { "type": "assert_regex", "regex": "(?m)^[^\\n]*\\+ new[^\\n]*Processes[^\\n]*$" }, { "type": "assert_regex", "regex": "(?m)^origin-mode · you have control[^\\n]*Ctrl-K · palette[^\\n]*$" } ] }