Raahat Scenario Harness

Curated conversation replay against the real runtime with stepwise diagnostics, readable deltas, and deterministic checks.

Breathing Distress

medical_breathing_distress · medical · 1/1 turns executed

Scenario Summary

IDmedical_breathing_distress
TitleBreathing Distress
Categorymedical
Turns1/1
Run Statecompleted
emergency breathing

Seed State

UserUnknown user
Phone919900000004
Seed Workflow
Seed State Machine

Current Runtime State

Routemedical_triage
Workflowmedical_triage
State Machinemedical_triage
Stage

Checks And Lifecycle

Expectations Passed1
Expectations Failed0
Heuristic Warnings0
Medical supersession
Final assessmentScenario completed cleanly with no flagged issues.

Final Outcome

Completed

Completed vs partial run state.

Final Route

medical_triage

Current route at the end of the replay.

Final Workflow / State

medical_triage

Workflow preferred; state machine shown if no workflow is active.

Final Stage

Resolved from workflow progress or active snapshot.

Expectation Totals

Pass 1 Fail 0

Heuristic Totals

Warnings 0

Missing Fields

No unresolved workflow fields.

Lifecycle Events Seen

Medical supersession
Turn 1
medical_triage medical_triage urgent_bypass urgent_medical_preemption
Medical supersession
PASS PASS
User
My cat is breathing heavily and won't settle
Assistant

What Changed This Turn

  • No material state change.

Expectation And Heuristic Results

Expectations
PASS: route_type matched expected value 'medical_triage'
Heuristics
PASS: Urgent medical reply kept question count low
Routing And Interpretation
{
  "confidence": 1.0,
  "reason_codes": [
    "urgent_bypass",
    "urgent_medical_preemption"
  ],
  "route_type": "medical_triage",
  "workflow_name": "medical_triage"
}
{
  "confidence": 0.98,
  "entities": {
    "symptom_phrases": [
      "breathing heavily",
      "breathing"
    ]
  },
  "is_vague": false,
  "primary_domain": "medical",
  "reason": "urgent medical emergency phrase",
  "secondary_domains": [],
  "should_continue_active_workflow": false,
  "should_preempt_active_workflow": false,
  "urgency_signal": "urgent"
}
Workflow Progress And Intents
null
[]
Conversation Before And After
{
  "active_state_machine": null,
  "active_workflow": null,
  "current_state": null,
  "entities": {},
  "messages": [],
  "phone": "919900000004",
  "service_actions": [],
  "started_at": "2026-03-16T22:41:30.372362+00:00",
  "triage_state": null,
  "updated_at": "2026-03-16T22:41:30.372366+00:00"
}
{
  "active_state_machine": "medical_triage",
  "active_workflow": null,
  "current_state": null,
  "entities": {},
  "messages": [
    {
      "role": "user",
      "source": null,
      "text": "My cat is breathing heavily and won't settle",
      "timestamp": "2026-03-16T22:41:30.666448+00:00"
    }
  ],
  "phone": "919900000004",
  "service_actions": [],
  "started_at": "2026-03-16T22:41:30.666443+00:00",
  "triage_state": null,
  "updated_at": "2026-03-16T22:41:30.666452+00:00"
}
Memory And Trace
{
  "active_state_machine": null,
  "backend": "inmemory",
  "conversation_key_used": "919900000004",
  "conversation_keys": [
    "919900000004",
    "9900000004"
  ],
  "current_state": null,
  "loaded": true,
  "ping_ok": null,
  "redis_enabled": false,
  "thread_message_count": 0,
  "ttl_seconds_remaining": null
}
{
  "active_state_machine": "medical_triage",
  "backend": "inmemory",
  "conversation_key_used": "919900000004",
  "conversation_keys": [
    "919900000004",
    "9900000004"
  ],
  "current_state": null,
  "loaded": true,
  "ping_ok": null,
  "redis_enabled": false,
  "thread_message_count": 1,
  "ttl_seconds_remaining": null
}
[
  {
    "component": "brain",
    "payload": {
      "channel": "scenario_harness",
      "conversation_key": "919900000004",
      "message_text": "My cat is breathing heavily and won't settle",
      "normalized_phone": "919900000004",
      "phone": "919900000004"
    },
    "stage": "input",
    "summary": "Received normalized message envelope",
    "timestamp": "2026-03-16T22:41:30.379650+00:00"
  },
  {
    "component": "memory_store",
    "payload": {
      "active_state_machine": null,
      "backend": "inmemory",
      "current_state": null,
      "loaded": true,
      "message_count": 0,
      "storage_key": "919900000004"
    },
    "stage": "memory",
    "summary": "Loaded conversation memory",
    "timestamp": "2026-03-16T22:41:30.379658+00:00"
  },
  {
    "component": "brain",
    "payload": {
      "has_prior_triage_state": false,
      "prior_state_error": null
    },
    "stage": "state",
    "summary": "Parsed prior working state",
    "timestamp": "2026-03-16T22:41:30.379661+00:00"
  },
  {
    "component": "brain",
    "payload": {
      "compact_payload_keys": [
        "incoming_message"
      ],
      "has_conversation": true,
      "has_customer": false,
      "has_icp": false,
      "has_profile": false,
      "recent_import_count": 0,
      "storage_key": "919900000004"
    },
    "stage": "context",
    "summary": "Assembled SessionContext for the turn",
    "timestamp": "2026-03-16T22:41:30.379666+00:00"
  },
  {
    "component": "contact_resolver",
    "payload": {
      "confidence": 0.0,
      "customer_id": null,
      "display_name": null,
      "matched_phone": null,
      "status": "UNKNOWN"
    },
    "stage": "decision",
    "summary": "Resolved sender contact status",
    "timestamp": "2026-03-16T22:41:30.379681+00:00"
  },
  {
    "component": "turn_interpretation",
    "payload": {
      "confidence": 0.98,
      "contact_status": "UNKNOWN",
      "entities": {
        "symptom_phrases": [
          "breathing heavily",
          "breathing"
        ]
      },
      "is_vague": false,
      "primary_domain": "medical",
      "reason": "urgent medical emergency phrase",
      "secondary_domains": [],
      "should_continue_active_workflow": false,
      "should_preempt_active_workflow": false,
      "urgency_signal": "urgent"
    },
    "stage": "decision",
    "summary": "Resolved turn interpretation deterministically",
    "timestamp": "2026-03-16T22:41:30.380067+00:00"
  },
  {
    "component": "profile_context",
    "payload": {
      "phone": "919900000004"
    },
    "stage": "context",
    "summary": "No customer matched provided phone",
    "timestamp": "2026-03-16T22:41:30.380086+00:00"
  },
  {
    "component": "entry_policy",
    "payload": {
      "allow_identity_question": false,
      "bypass_onboarding": true,
      "defer_existing_workflow": false,
      "preempt_active_workflow": false,
      "reason": "urgent medical risk should bypass onboarding",
      "run_welcome_orientation": false,
      "selected_posture": "urgent_bypass"
    },
    "stage": "decision",
    "summary": "Determined entry posture for this turn",
    "timestamp": "2026-03-16T22:41:30.380088+00:00"
  },
  {
    "component": "entry_policy",
    "payload": {
      "forced_primary_intent": "medical_issue",
      "forced_selected_workflow": "medical_triage",
      "original_primary_intent": "medical_issue",
      "original_selected_workflow": "medical_triage",
      "reason": "urgent medical risk should bypass onboarding",
      "selected_posture": "urgent_bypass"
    },
    "stage": "decision",
    "summary": "Entry posture overrode the initial route to force medical handling",
    "timestamp": "2026-03-16T22:41:30.380236+00:00"
  },
  {
    "component": "intent_parser",
    "payload": {
      "continue_active_workflow": false,
      "primary_intent": "medical_issue",
      "reason": "urgent medical risk should bypass onboarding",
      "resolved_state_machine": "medical_triage",
      "workflow_source": "intent_match"
    },
    "stage": "decision",
    "summary": "Resolved primary intent and state machine",
    "timestamp": "2026-03-16T22:41:30.380239+00:00"
  },
  {
    "component": "context_builder",
    "payload": {
      "active_workflow": "medical_triage",
      "background_fact_count": 0,
      "current_step": null,
      "foreground_fact_count": 2,
      "prompt_family": "medical",
      "purpose": "workflow_response"
    },
    "stage": "context",
    "summary": "Built workflow-response context slice for prompt assembly",
    "timestamp": "2026-03-16T22:41:30.380338+00:00"
  },
  {
    "component": "brain",
    "payload": {
      "current_state_before": null,
      "reason": "intent matched a registered state machine",
      "state_machine": "medical_triage"
    },
    "stage": "decision",
    "summary": "Executing state machine path",
    "timestamp": "2026-03-16T22:41:30.380407+00:00"
  },
  {
    "component": "medical_triage",
    "payload": {
      "compact_payload": {
        "incoming_message": "My cat is breathing heavily and won't settle",
        "prompt_family": "medical",
        "workflow_response_context": {
          "active_workflow": "medical_triage",
          "background_facts": [],
          "current_step": null,
          "entities": {
            "symptom_phrases": [
              "breathing heavily",
              "breathing"
            ]
          },
          "foreground_facts": [
            {
              "confidence": 1.0,
              "freshness": "current_turn",
              "key": "active_workflow",
              "source": "routing",
              "use_mode": "direct",
              "value": "medical_triage"
            },
            {
              "confidence": 0.9,
              "freshness": "current_turn",
              "key": "symptom_phrases",
              "source": "turn_interpretation.entities",
              "use_mode": "direct",
              "value": [
                "breathing heavily",
                "breathing"
              ]
            }
          ],
          "icp_guidance": {},
          "instruction_hints": [
            "Continue medical_triage at the current triage step. Prioritize the current symptom report, urgency, and recent thread details before any older profile history.",
            "Use direct facts from the active workflow and recent thread confidently.",
            "Treat confirm facts as historical references that must be verified before you assert them."
          ],
          "llm_required": true,
          "prompt_family": "medical",
          "purpose": "workflow_response",
          "recent_turns": [],
          "relationship_context": {},
          "service_history_context": {},
          "task_hint": "Continue medical_triage at the current triage step. Prioritize the current symptom report, urgency, and recent thread details before any older profile history."
        }
      },
      "current_state_before": null,
      "model": "gpt-5.4",
      "prior_triage_state": null,
      "prompt_family": "medical"
    },
    "stage": "llm_request",
    "summary": "Prepared medical triage prompt using current machine state, prior triage state, and compact customer context",
    "timestamp": "2026-03-16T22:41:30.666398+00:00"
  },
  {
    "component": "state_machine",
    "payload": {
      "clinic_routing_triggered": false,
      "current_state": null,
      "next_state": null,
      "service_action_count": 0
    },
    "stage": "response",
    "summary": "State machine produced response",
    "timestamp": "2026-03-16T22:41:30.666431+00:00"
  },
  {
    "component": "memory_store",
    "payload": {
      "active_state_machine": "medical_triage",
      "current_state": null,
      "message_count_after": 1,
      "storage_key": "919900000004"
    },
    "stage": "mutation",
    "summary": "Persisted updated conversation memory",
    "timestamp": "2026-03-16T22:41:30.666635+00:00"
  }
]