Raahat Scenario Harness

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

Lily Ingestion Emergency

medical_lily_ingestion · medical · 1/2 turns executed

Scenario Summary

IDmedical_lily_ingestion
TitleLily Ingestion Emergency
Categorymedical
Turns1/2
Run Statepartial
emergency toxin multi_turn

Seed State

UserUnknown user
Phone919900000001
Seed Workflow
Seed State Machine

Current Runtime State

Routemedical_triage
Workflowmedical_triage
State Machinemedical_triage
Stage

Checks And Lifecycle

Expectations Passed2
Expectations Failed0
Heuristic Warnings0
Medical supersession
Final assessmentPartial replay only; continue stepping for a full assessment.

Final Outcome

Partial

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 2 Fail 0

Heuristic Totals

Warnings 0

Missing Fields

No unresolved workflow fields.

Lifecycle Events Seen

Medical supersession

Scenario-Level Checks

PASS: final_route_type matched expected value 'medical_triage'
Turn 1
medical_triage medical_triage urgent_bypass urgent_medical_preemption
Medical supersession
PASS PASS
User
My cat ate a lily an hour ago what do I do
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": [
      "ate a lily",
      "lily"
    ]
  },
  "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": "919900000001",
  "service_actions": [],
  "started_at": "2026-03-16T22:35:39.402500+00:00",
  "triage_state": null,
  "updated_at": "2026-03-16T22:35:39.402505+00:00"
}
{
  "active_state_machine": "medical_triage",
  "active_workflow": null,
  "current_state": null,
  "entities": {},
  "messages": [
    {
      "role": "user",
      "source": null,
      "text": "My cat ate a lily an hour ago what do I do",
      "timestamp": "2026-03-16T22:35:39.698828+00:00"
    }
  ],
  "phone": "919900000001",
  "service_actions": [],
  "started_at": "2026-03-16T22:35:39.698823+00:00",
  "triage_state": null,
  "updated_at": "2026-03-16T22:35:39.698833+00:00"
}
Memory And Trace
{
  "active_state_machine": null,
  "backend": "inmemory",
  "conversation_key_used": "919900000001",
  "conversation_keys": [
    "919900000001",
    "9900000001"
  ],
  "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": "919900000001",
  "conversation_keys": [
    "919900000001",
    "9900000001"
  ],
  "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": "919900000001",
      "message_text": "My cat ate a lily an hour ago what do I do",
      "normalized_phone": "919900000001",
      "phone": "919900000001"
    },
    "stage": "input",
    "summary": "Received normalized message envelope",
    "timestamp": "2026-03-16T22:35:39.410422+00:00"
  },
  {
    "component": "memory_store",
    "payload": {
      "active_state_machine": null,
      "backend": "inmemory",
      "current_state": null,
      "loaded": true,
      "message_count": 0,
      "storage_key": "919900000001"
    },
    "stage": "memory",
    "summary": "Loaded conversation memory",
    "timestamp": "2026-03-16T22:35:39.410427+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:35:39.410429+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": "919900000001"
    },
    "stage": "context",
    "summary": "Assembled SessionContext for the turn",
    "timestamp": "2026-03-16T22:35:39.410433+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:35:39.410438+00:00"
  },
  {
    "component": "turn_interpretation",
    "payload": {
      "confidence": 0.98,
      "contact_status": "UNKNOWN",
      "entities": {
        "symptom_phrases": [
          "ate a lily",
          "lily"
        ]
      },
      "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:35:39.410595+00:00"
  },
  {
    "component": "profile_context",
    "payload": {
      "phone": "919900000001"
    },
    "stage": "context",
    "summary": "No customer matched provided phone",
    "timestamp": "2026-03-16T22:35:39.410601+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:35:39.410603+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:35:39.410640+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:35:39.410642+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:35:39.410672+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:35:39.410713+00:00"
  },
  {
    "component": "medical_triage",
    "payload": {
      "compact_payload": {
        "incoming_message": "My cat ate a lily an hour ago what do I do",
        "prompt_family": "medical",
        "workflow_response_context": {
          "active_workflow": "medical_triage",
          "background_facts": [],
          "current_step": null,
          "entities": {
            "symptom_phrases": [
              "ate a lily",
              "lily"
            ]
          },
          "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": [
                "ate a lily",
                "lily"
              ]
            }
          ],
          "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:35:39.698791+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:35:39.698810+00:00"
  },
  {
    "component": "memory_store",
    "payload": {
      "active_state_machine": "medical_triage",
      "current_state": null,
      "message_count_after": 1,
      "storage_key": "919900000001"
    },
    "stage": "mutation",
    "summary": "Persisted updated conversation memory",
    "timestamp": "2026-03-16T22:35:39.699012+00:00"
  }
]