oc_chat
Loading...
Searching...
No Matches
oc_chat.benchmarks.scenarios Namespace Reference

Classes

class  Scenario

Functions

list[str] names ()
Scenario get (str name)
list[Scenario] all_scenarios ()

Detailed Description

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)

Function Documentation

◆ all_scenarios()

list[Scenario] oc_chat.benchmarks.scenarios.all_scenarios ( )
Every scenario, in sorted-name order.

Definition at line 120 of file scenarios.py.

Here is the call graph for this function:

◆ get()

Scenario oc_chat.benchmarks.scenarios.get ( str name)
Return the scenario for *name*, or raise ``KeyError`` listing valid ids.

Definition at line 109 of file scenarios.py.

Here is the call graph for this function:

◆ names()

list[str] oc_chat.benchmarks.scenarios.names ( )
Sorted list of scenario ids.

Definition at line 104 of file scenarios.py.

Here is the caller graph for this function: