Fixed, version-stamped benchmark scenarios.
Purpose
-------
A scenario is a declarative bundle of an ordered list of user prompts
plus the mode it must run in. Scenarios are **fixed and version-
stamped** so before/after runs are comparable; changing a scenario's
prompts means a new id (or a bumped ``version``), never a silent
in-place edit (keep receipts). All v1 prompts are **read-only** (no
``write_file`` / no destructive ``run_command``) and reference stable
worktree files, so runs are comparable and safe.
All three v1 scenarios declare ``mode = "option-c"`` — the mode whose
tool-dump prompt Plan 135 slims; ``standard`` mode exposes no tools or
project tree and would not exercise the surface under test.
Responsibilities
----------------
- :class:`Scenario` — name / version / mode / turns / description.
- :data:`SCENARIOS` — the registry; :func:`get` / :func:`names`.
Diagnostics
-----------
Domain: OC_CHAT.MAIN
Levels:
L2 — lifecycle events
L3 — semantic details
L4 — deep tracing
Contracts
---------
- :func:`get` raises ``KeyError`` with the valid names on an unknown id
(the CLI turns that into a clean exit-1, never a traceback).
- Prompts are read-only and reference stable repository paths.
Dependencies
------------
- oc_diagnostics (structured debug logging via _dbg)