30051fdfd6
server/scenarios/runtime.py — ScenarioRuntime maps a Scenario to a Pipecat Flows state-machine spec: initial 'conversation' state with the scenario's system prompt + opening line, branch metadata carried in the spec (v0.1 has no in-flight transitions per G-002 — branching is post-hoc; Phase 2+ can fork without schema change). set_branch() resolves the branch outcome from the classifier; debrief_focus() returns the per-branch focus. TASK-03-07: server/pipeline.py build_pipeline() now accepts a scenario_id, loads the runtime, and uses scenario.setup.system_prompt instead of the SLICE-02 hardcoded walking-skeleton prompt. Falls back gracefully if the scenario can't load. server/__main__.py passes PRAXIS_SCENARIO=customer_service_refund_ca_v01 by default. 7 runtime tests pass (system prompt, set_branch accept/escalate, unknown-branch error, debrief_focus per branch, flows spec branches, debrief model config). ---ci--- phase: 1 milestone: v0.1 plan: 03 task: 03-03,03-07 status: execute persona: backend-engineer requirements: covered: [REQ-SCEN-01, REQ-SCEN-FMT-01, REQ-ORCH-02] ---/ci---