### node platform (enabled)
- **Use for**: Node.js runtime-debug scenarios (V8 inspector probes / logs).
- **Server**: `node-devtools` · **scenario tools**: the `ndt_scenario-*` tools
  (`ndt_scenario-add` / `-update` / `-delete` / `-list` / `-search` / `-run`).
- **Store**: project → `.ironbee/scenarios/ndt`, global → `~/.ironbee/scenarios/ndt` (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 `ndt_*` 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 node cycle collects). In the script:
1. **Connect** — `ndt_debug_connect` (one of `pid` / `processName` / `containerName` /
   `inspectorPort` / `wsUrl`).
2. Pick an **evidence path** for the changed code path:
   - **Probe path** (proves the code path executed) — set a probe at the changed location
     (`ndt_debug_put-tracepoint` / `ndt_debug_put-logpoint` / `ndt_debug_put-exceptionpoint`),
     **exercise the path** (drive it via a request / CLI / another platform's call — without this the
     probe never fires), then read `ndt_debug_get-probe-snapshots`; at least one probe must come back
     `triggered: true`.
   - **Log path** (proves no errors during execution) — exercise the path, then `ndt_debug_get-logs`
     filtered to the error level (no ERROR-level entries = pass).

`return` the probe snapshots / logs (read them with `returnOutput: true` so their data reaches the
script's `return`) **plus explicit pass/fail assertions** so a later verify run can judge them.
**`node-devtools` is
Node.js ONLY** — never author `ndt_*` scenarios for Java / Python / Go / Rust / Ruby / .NET / PHP
backends; use the **backend** platform for those.
