### Terminal platform (enabled)
- **Use for**: CLI / REPL / TUI scenarios driven in a PTY.
- **Server**: `terminal-devtools` · **scenario tools**: `mcp__terminal-devtools__tdt_scenario-*`.
- **Store**: project → `.ironbee/scenarios/tdt`, global → `~/.ironbee/scenarios/tdt` (the server's
  `SCENARIOS_DIR`; pass `scope`, the server resolves the path).
- Scenario **scripts** call terminal tools via `callTool('<bare-tool>', {...})` — discover the
  available `tdt_*` tool names (pty / interaction / content / sync …) from your connected
  MCP schemas; don't guess.

**What to test & how — capture the SAME evidence the verifier would** (a scenario runs FOR
verification, so its script must collect what the terminal cycle collects). In the script, pick an
**evidence path** for the changed code area:
1. **Run-evidence path** — run the command with `callTool('tdt_pty_run', { ... })` **with
   `returnOutput: true`** so the full output + exit code come back in the result; put that captured
   output and exit code in your result. Best for non-interactive CLIs (a subcommand, a script).
2. **Interactive-evidence path** — `callTool('tdt_pty_start', {...})` to spawn (returns a `paneId`),
   then drive input with `callTool('tdt_interaction_send-keys', {...})` (tmux syntax: `Enter` / `C-c` /
   `Up` / `Tab`) or `callTool('tdt_interaction_send-text', {...})`, synchronize with
   `callTool('tdt_sync_wait-for', {...})` (prefer over fixed delays), and read output with
   `callTool('tdt_content_capture', { returnOutput: true, ... })` (`mode: stream` for REPLs / shells,
   `mode: screen` for a full-screen TUI) — put the captured output in your result. Stop the pane with
   `callTool('tdt_pty_stop', {...})` when done.

`return` the evidence — captured output / exit code — **plus explicit pass/fail assertions**. That
returned result is what `/ironbee-verify scenario:<name>` reads to judge whether the change behaved
correctly. **`terminal-devtools` drives CLIs/REPLs/TUIs in a PTY.**
