### terminal platform (enabled)
- **Use for**: CLI / REPL / shell / TUI scenarios driven through a PTY.
- **Server**: `terminal-devtools` · **scenario tools**: the `tdt_scenario-*` tools
  (`tdt_scenario-add` / `-update` / `-delete` / `-list` / `-search` / `-run`).
- **Store**: project → `.ironbee/scenarios/tdt`, global → `~/.ironbee/scenarios/tdt` (the
  server's `SCENARIOS_DIR`; you pass `scope`, the server resolves the path).
- Scenario **scripts** call this platform's tools via `callTool('<bare-tool>', {...})` — discover
  the available `tdt_*` tool names from your connected MCP tool 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 affected command one-shot with `tdt_pty_run` (with
   `returnOutput: true`): it spawns the command attached to a PTY, runs it to completion, and returns
   the FULL output plus exit code. Put the returned output AND exit code in your result; the verifier
   reads them to judge whether the change behaved correctly. Best for non-interactive CLIs, build
   targets, scripts, and test runs.
2. **Interactive-evidence path** — drive a live session:
   - Spawn the program: `tdt_pty_start` (returns a `paneId` you reference for the rest of the script).
   - Drive input: `tdt_interaction_send-keys` (tmux key syntax — `Enter`, `C-c`, `Up`, `Tab`, …) and
     `tdt_interaction_send-text` (literal text).
   - **Synchronize before reading** — `tdt_sync_wait-for` to block until the expected output appears
     (prefer over fixed delays).
   - Capture output: `tdt_content_capture` (with `returnOutput: true`) — `mode: stream` for
     line-oriented programs (REPLs, shells; incremental `since` cursor reads only new lines),
     `mode: screen` for full-screen TUIs. Its captured text is what the verifier reads.
   - Stop the pane: `tdt_pty_stop`.
   - Optional helpers (NOT evidence): `tdt_sync_wait-for-idle` (wait until output settles),
     `tdt_content_get-cursor` (read the stream cursor), `tdt_pty_resize` / `tdt_pty_signal` /
     `tdt_pty_list`.

`return` the evidence — the captured output text, the exit code (run-evidence) — **plus explicit
pass/fail assertions**. That returned result is what `$ironbee-verify scenario:<name>` reads to judge
functional correctness (from the output text and exit code). **`terminal-devtools` has no
screenshots / video** — there is no visual artifact to capture; the captured text and exit code ARE
the evidence. **`terminal-devtools` is for terminal-observable behavior only.**
