Raahat Scenario Harness

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

Boarding Booking Progression

boarding_booking_handoff_progression · boarding · 2/3 turns executed

Scenario Summary

IDboarding_booking_handoff_progression
TitleBoarding Booking Progression
Categoryboarding
Turns2/3
Run Statepartial
booking continuity multi_turn

Seed State

UserUnknown user
Phone919900000106
Seed Workflow
Seed State Machine

Current Runtime State

Routeboarding
Workflowboarding
State Machine
Stageready_for_availability_check

Checks And Lifecycle

Expectations Passed2
Expectations Failed0
Heuristic Warnings0
Stage advanced Sticky continuation
Final assessmentPartial replay only; continue stepping for a full assessment.

Final Outcome

Partial

Completed vs partial run state.

Final Route

boarding

Current route at the end of the replay.

Final Workflow / State

boarding

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

Final Stage

ready_for_availability_check

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

Stage advanced Sticky continuation
Turn 1
boarding boarding qualifying intent_match
Stage advanced New slots filled Memory updated
PASS
User
Need boarding for 2 cats next weekend
Assistant
What area would pickup or drop be from?

What Changed This Turn

  • Workflow changed none -> boarding.
  • Stage advanced none -> qualifying.
  • New slot filled: check_in_date=2026-03-28.
  • New slot filled: check_out_date=2026-03-29.
  • New slot filled: check_out_time_window=evening.
  • New slot filled: duration_nights=1.
  • New slot filled: last_question_key=location.
  • New slot filled: pet_count=2.
  • New slot filled: raw_date_text=next weekend.
  • New slot filled: request_kind=availability.
  • New slot filled: stage=qualifying.
  • Memory updated with cat_count.
  • Memory updated with check_in_date.
  • Memory updated with check_out_date.
  • Memory updated with date_phrase.
  • Memory updated with duration_nights.
  • Memory updated with last_non_medical_domain.
  • Memory updated with request_kind.
  • Snapshot version incremented to 1.

Expectation And Heuristic Results

Expectations
PASS: workflow_name matched expected value 'boarding'
Routing And Interpretation
{
  "confidence": 0.9,
  "reason_codes": [
    "intent_match"
  ],
  "route_type": "boarding",
  "workflow_name": "boarding"
}
{
  "confidence": 0.9,
  "entities": {
    "cat_count": 2,
    "date_phrase": "next weekend"
  },
  "is_vague": false,
  "primary_domain": "boarding",
  "reason": "clear boarding request",
  "secondary_domains": [],
  "should_continue_active_workflow": false,
  "should_preempt_active_workflow": false,
  "urgency_signal": "none"
}
Workflow Progress And Intents
{
  "missing_fields": [
    "location"
  ],
  "next_question": "What area would pickup or drop be from?",
  "notes": [],
  "stage": "qualifying",
  "state_payload": {
    "check_in_date": "2026-03-28",
    "check_in_time_window": null,
    "check_out_date": "2026-03-29",
    "check_out_time_window": "evening",
    "duration_nights": 1,
    "last_question_key": "location",
    "medical_flags": [],
    "pet_count": 2,
    "pet_names": [],
    "pickup_area": null,
    "pickup_required": null,
    "raw_date_text": "next weekend",
    "raw_duration_text": null,
    "request_kind": "availability",
    "service_area": null,
    "special_needs": [],
    "stage": "qualifying"
  },
  "status": "collecting",
  "summary": "2 cats, 2026-03-28 to 2026-03-29",
  "superseded_by": null,
  "workflow_name": "boarding"
}
[]
Conversation Before And After
{
  "active_state_machine": null,
  "active_workflow": null,
  "current_state": null,
  "entities": {},
  "messages": [],
  "phone": "919900000106",
  "service_actions": [],
  "started_at": "2026-03-16T22:31:14.771643+00:00",
  "triage_state": null,
  "updated_at": "2026-03-16T22:31:14.771646+00:00"
}
{
  "active_state_machine": null,
  "active_workflow": {
    "last_question_key": "location",
    "missing_fields": [
      "location"
    ],
    "next_question": "What area would pickup or drop be from?",
    "stage": "qualifying",
    "started_at": "2026-03-16T22:31:14.780977+00:00",
    "state_payload": {
      "check_in_date": "2026-03-28",
      "check_in_time_window": null,
      "check_out_date": "2026-03-29",
      "check_out_time_window": "evening",
      "duration_nights": 1,
      "last_question_key": "location",
      "medical_flags": [],
      "pet_count": 2,
      "pet_names": [],
      "pickup_area": null,
      "pickup_required": null,
      "raw_date_text": "next weekend",
      "raw_duration_text": null,
      "request_kind": "availability",
      "service_area": null,
      "special_needs": [],
      "stage": "qualifying"
    },
    "status": "collecting",
    "summary": "2 cats, 2026-03-28 to 2026-03-29",
    "superseded_by": null,
    "updated_at": "2026-03-16T22:31:14.780980+00:00",
    "version": 1,
    "workflow_name": "boarding"
  },
  "current_state": "QUALIFYING",
  "entities": {
    "cat_count": 2,
    "check_in_date": "2026-03-28",
    "check_out_date": "2026-03-29",
    "date_phrase": "next weekend",
    "duration_nights": 1,
    "last_non_medical_domain": "boarding",
    "request_kind": "availability"
  },
  "messages": [
    {
      "role": "user",
      "source": null,
      "text": "Need boarding for 2 cats next weekend",
      "timestamp": "2026-03-16T22:31:14.781018+00:00"
    },
    {
      "role": "assistant",
      "source": "B",
      "text": "What area would pickup or drop be from?",
      "timestamp": "2026-03-16T22:31:14.781021+00:00"
    }
  ],
  "phone": "919900000106",
  "service_actions": [],
  "started_at": "2026-03-16T22:31:14.781013+00:00",
  "triage_state": null,
  "updated_at": "2026-03-16T22:31:14.781041+00:00"
}
Memory And Trace
{
  "active_state_machine": null,
  "backend": "inmemory",
  "conversation_key_used": "919900000106",
  "conversation_keys": [
    "919900000106",
    "9900000106"
  ],
  "current_state": null,
  "loaded": true,
  "ping_ok": null,
  "redis_enabled": false,
  "thread_message_count": 0,
  "ttl_seconds_remaining": null
}
{
  "active_state_machine": null,
  "backend": "inmemory",
  "conversation_key_used": "919900000106",
  "conversation_keys": [
    "919900000106",
    "9900000106"
  ],
  "current_state": "QUALIFYING",
  "loaded": true,
  "ping_ok": null,
  "redis_enabled": false,
  "thread_message_count": 2,
  "ttl_seconds_remaining": null
}
[
  {
    "component": "brain",
    "payload": {
      "channel": "scenario_harness",
      "conversation_key": "919900000106",
      "message_text": "Need boarding for 2 cats next weekend",
      "normalized_phone": "919900000106",
      "phone": "919900000106"
    },
    "stage": "input",
    "summary": "Received normalized message envelope",
    "timestamp": "2026-03-16T22:31:14.780412+00:00"
  },
  {
    "component": "memory_store",
    "payload": {
      "active_state_machine": null,
      "backend": "inmemory",
      "current_state": null,
      "loaded": true,
      "message_count": 0,
      "storage_key": "919900000106"
    },
    "stage": "memory",
    "summary": "Loaded conversation memory",
    "timestamp": "2026-03-16T22:31:14.780418+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:31:14.780421+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": "919900000106"
    },
    "stage": "context",
    "summary": "Assembled SessionContext for the turn",
    "timestamp": "2026-03-16T22:31:14.780425+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:31:14.780430+00:00"
  },
  {
    "component": "turn_interpretation",
    "payload": {
      "confidence": 0.9,
      "contact_status": "UNKNOWN",
      "entities": {
        "cat_count": 2,
        "date_phrase": "next weekend"
      },
      "is_vague": false,
      "primary_domain": "boarding",
      "reason": "clear boarding request",
      "secondary_domains": [],
      "should_continue_active_workflow": false,
      "should_preempt_active_workflow": false,
      "urgency_signal": "none"
    },
    "stage": "decision",
    "summary": "Resolved turn interpretation deterministically",
    "timestamp": "2026-03-16T22:31:14.780642+00:00"
  },
  {
    "component": "profile_context",
    "payload": {
      "phone": "919900000106"
    },
    "stage": "context",
    "summary": "No customer matched provided phone",
    "timestamp": "2026-03-16T22:31:14.780649+00:00"
  },
  {
    "component": "entry_policy",
    "payload": {
      "allow_identity_question": true,
      "bypass_onboarding": false,
      "defer_existing_workflow": false,
      "preempt_active_workflow": false,
      "reason": "unknown contact with a clear non-urgent request can allow one light identity question later",
      "run_welcome_orientation": false,
      "selected_posture": "light_onboarding"
    },
    "stage": "decision",
    "summary": "Determined entry posture for this turn",
    "timestamp": "2026-03-16T22:31:14.780652+00:00"
  },
  {
    "component": "intent_parser",
    "payload": {
      "continue_active_workflow": false,
      "primary_intent": "boarding_request",
      "reason": "matched_keyword_rules",
      "resolved_state_machine": "boarding",
      "workflow_source": "intent_match"
    },
    "stage": "decision",
    "summary": "Resolved primary intent and state machine",
    "timestamp": "2026-03-16T22:31:14.780701+00:00"
  },
  {
    "component": "context_builder",
    "payload": {
      "active_workflow": "boarding",
      "background_fact_count": 0,
      "current_step": null,
      "foreground_fact_count": 3,
      "prompt_family": "general",
      "purpose": "workflow_response"
    },
    "stage": "context",
    "summary": "Built workflow-response context slice for prompt assembly",
    "timestamp": "2026-03-16T22:31:14.780734+00:00"
  },
  {
    "component": "workflow",
    "payload": {
      "action_intents": [],
      "missing_fields": [
        "location"
      ],
      "next_question": "What area would pickup or drop be from?",
      "stage": "qualifying",
      "status": "collecting",
      "summary": "2 cats, 2026-03-28 to 2026-03-29",
      "workflow_name": "boarding"
    },
    "stage": "decision",
    "summary": "Executed deterministic workflow handler",
    "timestamp": "2026-03-16T22:31:14.781001+00:00"
  },
  {
    "component": "memory_store",
    "payload": {
      "active_state_machine": null,
      "current_state": "QUALIFYING",
      "message_count_after": 2,
      "storage_key": "919900000106"
    },
    "stage": "mutation",
    "summary": "Persisted updated conversation memory",
    "timestamp": "2026-03-16T22:31:14.781840+00:00"
  }
]
Turn 2
boarding boarding ready_for_availability_check active_workflow_snapshot follow_up active_workflow_snapshot
Sticky continuation Stage advanced New slots filled Memory updated Stayed on boarding
PASS PASS
User
Baner and pickup needed
Assistant
Got it. I have the dates, cat count, and area for the boarding stay. I’ll have the team confirm availability and get back to you.

What Changed This Turn

  • Active workflow remained boarding.
  • Stage advanced qualifying -> ready_for_availability_check.
  • New slot filled: pickup_area=Baner.
  • New slot filled: pickup_required=True.
  • New slot filled: service_area=Baner.
  • Memory updated with area.
  • Memory updated with pickup_required.
  • Snapshot version incremented to 2.

Expectation And Heuristic Results

Expectations
PASS: workflow_name matched expected value 'boarding'
Heuristics
PASS: Active workflow remained sticky across terse follow-up
Routing And Interpretation
{
  "confidence": 0.92,
  "reason_codes": [
    "active_workflow_snapshot",
    "follow_up",
    "active_workflow_snapshot",
    "follow_up_slot_fill"
  ],
  "route_type": "boarding",
  "workflow_name": "boarding"
}
{
  "confidence": 0.92,
  "entities": {
    "area": "baner",
    "city": "pune",
    "pickup_required": true,
    "zone": "west"
  },
  "is_vague": false,
  "primary_domain": "boarding",
  "reason": "fills requested area for active workflow",
  "secondary_domains": [],
  "should_continue_active_workflow": true,
  "should_preempt_active_workflow": false,
  "urgency_signal": "none"
}
Workflow Progress And Intents
{
  "missing_fields": [],
  "next_question": null,
  "notes": [],
  "stage": "ready_for_availability_check",
  "state_payload": {
    "check_in_date": "2026-03-28",
    "check_in_time_window": null,
    "check_out_date": "2026-03-29",
    "check_out_time_window": "evening",
    "duration_nights": 1,
    "last_question_key": "location",
    "medical_flags": [],
    "pet_count": 2,
    "pet_names": [],
    "pickup_area": "Baner",
    "pickup_required": true,
    "raw_date_text": "next weekend",
    "raw_duration_text": null,
    "request_kind": "availability",
    "service_area": "Baner",
    "special_needs": [],
    "stage": "ready_for_availability_check"
  },
  "status": "ready",
  "summary": "2 cats, 2026-03-28 to 2026-03-29, Baner",
  "superseded_by": null,
  "workflow_name": "boarding"
}
[
  {
    "action_type": "collect_boarding_request",
    "idempotency_key": "da7d2747755b843e",
    "metadata": {
      "missing_fields": [],
      "normalized_slots": {
        "check_in_date": "2026-03-28",
        "check_in_time_window": null,
        "check_out_date": "2026-03-29",
        "check_out_time_window": "evening",
        "duration_nights": 1,
        "medical_flags": [],
        "pet_count": 2,
        "pet_names": [],
        "pickup_area": "Baner",
        "pickup_required": true,
        "raw_date_text": "next weekend",
        "raw_duration_text": null,
        "request_kind": "availability",
        "service_area": "Baner",
        "special_needs": []
      },
      "snapshot_version": 2,
      "workflow_name": "boarding",
      "workflow_stage": "ready_for_availability_check"
    },
    "payload": {
      "check_in_date": "2026-03-28",
      "check_in_time_window": null,
      "check_out_date": "2026-03-29",
      "check_out_time_window": "evening",
      "duration_nights": 1,
      "medical_flags": [],
      "pet_count": 2,
      "pet_names": [],
      "pickup_area": "Baner",
      "pickup_required": true,
      "raw_date_text": "next weekend",
      "raw_duration_text": null,
      "request_kind": "availability",
      "service_area": "Baner",
      "special_needs": []
    },
    "priority": "normal",
    "reason": "boarding workflow has enough structured detail for ops handling",
    "requires_admin_review": false,
    "source_workflow": "boarding",
    "status": "ready",
    "user_visible": false
  },
  {
    "action_type": "check_boarding_inventory",
    "idempotency_key": "a84dc2b5d4a935fd",
    "metadata": {
      "missing_fields": [],
      "normalized_slots": {
        "check_in_date": "2026-03-28",
        "check_in_time_window": null,
        "check_out_date": "2026-03-29",
        "check_out_time_window": "evening",
        "duration_nights": 1,
        "medical_flags": [],
        "pet_count": 2,
        "pet_names": [],
        "pickup_area": "Baner",
        "pickup_required": true,
        "raw_date_text": "next weekend",
        "raw_duration_text": null,
        "request_kind": "availability",
        "service_area": "Baner",
        "special_needs": []
      },
      "snapshot_version": 2,
      "workflow_name": "boarding",
      "workflow_stage": "ready_for_availability_check"
    },
    "payload": {
      "check_in_date": "2026-03-28",
      "check_in_time_window": null,
      "check_out_date": "2026-03-29",
      "check_out_time_window": "evening",
      "duration_nights": 1,
      "medical_flags": [],
      "pet_count": 2,
      "pet_names": [],
      "pickup_area": "Baner",
      "pickup_required": true,
      "raw_date_text": "next weekend",
      "raw_duration_text": null,
      "request_kind": "availability",
      "service_area": "Baner",
      "special_needs": []
    },
    "priority": "normal",
    "reason": "boarding workflow is ready for an availability check",
    "requires_admin_review": false,
    "source_workflow": "boarding",
    "status": "ready",
    "user_visible": false
  },
  {
    "action_type": "request_boarding_admin_review",
    "idempotency_key": "7de203f4b70892dc",
    "metadata": {
      "missing_fields": [],
      "normalized_slots": {
        "check_in_date": "2026-03-28",
        "check_in_time_window": null,
        "check_out_date": "2026-03-29",
        "check_out_time_window": "evening",
        "duration_nights": 1,
        "medical_flags": [],
        "pet_count": 2,
        "pet_names": [],
        "pickup_area": "Baner",
        "pickup_required": true,
        "raw_date_text": "next weekend",
        "raw_duration_text": null,
        "request_kind": "availability",
        "service_area": "Baner",
        "special_needs": []
      },
      "snapshot_version": 2,
      "workflow_name": "boarding",
      "workflow_stage": "ready_for_availability_check"
    },
    "payload": {
      "check_in_date": "2026-03-28",
      "check_in_time_window": null,
      "check_out_date": "2026-03-29",
      "check_out_time_window": "evening",
      "duration_nights": 1,
      "medical_flags": [],
      "pet_count": 2,
      "pet_names": [],
      "pickup_area": "Baner",
      "pickup_required": true,
      "raw_date_text": "next weekend",
      "raw_duration_text": null,
      "request_kind": "availability",
      "service_area": "Baner",
      "special_needs": []
    },
    "priority": "normal",
    "reason": "boarding workflow is complete enough for team confirmation",
    "requires_admin_review": true,
    "source_workflow": "boarding",
    "status": "needs_admin_review",
    "user_visible": false
  },
  {
    "action_type": "request_availability_check",
    "idempotency_key": "43d6a2ea8d353e56",
    "metadata": {
      "missing_fields": [],
      "normalized_slots": {
        "check_in_date": "2026-03-28",
        "check_in_time_window": null,
        "check_out_date": "2026-03-29",
        "check_out_time_window": "evening",
        "duration_nights": 1,
        "medical_flags": [],
        "pet_count": 2,
        "pet_names": [],
        "pickup_area": "Baner",
        "pickup_required": true,
        "raw_date_text": "next weekend",
        "raw_duration_text": null,
        "request_kind": "availability",
        "service_area": "Baner",
        "special_needs": []
      },
      "snapshot_version": 2,
      "workflow_name": "boarding",
      "workflow_stage": "ready_for_availability_check"
    },
    "payload": {
      "check_in_date": "2026-03-28",
      "check_in_time_window": null,
      "check_out_date": "2026-03-29",
      "check_out_time_window": "evening",
      "duration_nights": 1,
      "medical_flags": [],
      "pet_count": 2,
      "pet_names": [],
      "pickup_area": "Baner",
      "pickup_required": true,
      "raw_date_text": "next weekend",
      "raw_duration_text": null,
      "request_kind": "availability",
      "service_area": "Baner",
      "special_needs": []
    },
    "priority": "normal",
    "reason": "boarding workflow is ready for an availability check",
    "requires_admin_review": true,
    "source_workflow": "boarding",
    "status": "needs_admin_review",
    "user_visible": false
  }
]
Conversation Before And After
{
  "active_state_machine": null,
  "active_workflow": {
    "last_question_key": "location",
    "missing_fields": [
      "location"
    ],
    "next_question": "What area would pickup or drop be from?",
    "stage": "qualifying",
    "started_at": "2026-03-16T22:31:14.780977+00:00",
    "state_payload": {
      "check_in_date": "2026-03-28",
      "check_in_time_window": null,
      "check_out_date": "2026-03-29",
      "check_out_time_window": "evening",
      "duration_nights": 1,
      "last_question_key": "location",
      "medical_flags": [],
      "pet_count": 2,
      "pet_names": [],
      "pickup_area": null,
      "pickup_required": null,
      "raw_date_text": "next weekend",
      "raw_duration_text": null,
      "request_kind": "availability",
      "service_area": null,
      "special_needs": [],
      "stage": "qualifying"
    },
    "status": "collecting",
    "summary": "2 cats, 2026-03-28 to 2026-03-29",
    "superseded_by": null,
    "updated_at": "2026-03-16T22:31:14.780980+00:00",
    "version": 1,
    "workflow_name": "boarding"
  },
  "current_state": "QUALIFYING",
  "entities": {
    "cat_count": 2,
    "check_in_date": "2026-03-28",
    "check_out_date": "2026-03-29",
    "date_phrase": "next weekend",
    "duration_nights": 1,
    "last_non_medical_domain": "boarding",
    "request_kind": "availability"
  },
  "messages": [
    {
      "role": "user",
      "source": null,
      "text": "Need boarding for 2 cats next weekend",
      "timestamp": "2026-03-16T22:31:14.781018+00:00"
    },
    {
      "role": "assistant",
      "source": "B",
      "text": "What area would pickup or drop be from?",
      "timestamp": "2026-03-16T22:31:14.781021+00:00"
    }
  ],
  "phone": "919900000106",
  "service_actions": [],
  "started_at": "2026-03-16T22:31:14.781013+00:00",
  "triage_state": null,
  "updated_at": "2026-03-16T22:31:14.781041+00:00"
}
{
  "active_state_machine": null,
  "active_workflow": {
    "last_question_key": null,
    "missing_fields": [],
    "next_question": null,
    "stage": "ready_for_availability_check",
    "started_at": "2026-03-16T22:31:14.780977+00:00",
    "state_payload": {
      "check_in_date": "2026-03-28",
      "check_in_time_window": null,
      "check_out_date": "2026-03-29",
      "check_out_time_window": "evening",
      "duration_nights": 1,
      "last_question_key": "location",
      "medical_flags": [],
      "pet_count": 2,
      "pet_names": [],
      "pickup_area": "Baner",
      "pickup_required": true,
      "raw_date_text": "next weekend",
      "raw_duration_text": null,
      "request_kind": "availability",
      "service_area": "Baner",
      "special_needs": [],
      "stage": "ready_for_availability_check"
    },
    "status": "ready",
    "summary": "2 cats, 2026-03-28 to 2026-03-29, Baner",
    "superseded_by": null,
    "updated_at": "2026-03-16T22:31:14.785870+00:00",
    "version": 2,
    "workflow_name": "boarding"
  },
  "current_state": "READY_FOR_AVAILABILITY_CHECK",
  "entities": {
    "area": "Baner",
    "cat_count": 2,
    "check_in_date": "2026-03-28",
    "check_out_date": "2026-03-29",
    "date_phrase": "next weekend",
    "duration_nights": 1,
    "last_non_medical_domain": "boarding",
    "pickup_required": true,
    "request_kind": "availability"
  },
  "messages": [
    {
      "role": "user",
      "source": null,
      "text": "Need boarding for 2 cats next weekend",
      "timestamp": "2026-03-16T22:31:14.781018+00:00"
    },
    {
      "role": "assistant",
      "source": "B",
      "text": "What area would pickup or drop be from?",
      "timestamp": "2026-03-16T22:31:14.781021+00:00"
    },
    {
      "role": "user",
      "source": null,
      "text": "Baner and pickup needed",
      "timestamp": "2026-03-16T22:31:14.785978+00:00"
    },
    {
      "role": "assistant",
      "source": "B",
      "text": "Got it. I have the dates, cat count, and area for the boarding stay. I’ll have the team confirm availability and get back to you.",
      "timestamp": "2026-03-16T22:31:14.785981+00:00"
    }
  ],
  "phone": "919900000106",
  "service_actions": [],
  "started_at": "2026-03-16T22:31:14.781013+00:00",
  "triage_state": null,
  "updated_at": "2026-03-16T22:31:14.786000+00:00"
}
Memory And Trace
{
  "active_state_machine": null,
  "backend": "inmemory",
  "conversation_key_used": "919900000106",
  "conversation_keys": [
    "919900000106",
    "9900000106"
  ],
  "current_state": "QUALIFYING",
  "loaded": true,
  "ping_ok": null,
  "redis_enabled": false,
  "thread_message_count": 2,
  "ttl_seconds_remaining": null
}
{
  "active_state_machine": null,
  "backend": "inmemory",
  "conversation_key_used": "919900000106",
  "conversation_keys": [
    "919900000106",
    "9900000106"
  ],
  "current_state": "READY_FOR_AVAILABILITY_CHECK",
  "loaded": true,
  "ping_ok": null,
  "redis_enabled": false,
  "thread_message_count": 4,
  "ttl_seconds_remaining": null
}
[
  {
    "component": "brain",
    "payload": {
      "channel": "scenario_harness",
      "conversation_key": "919900000106",
      "message_text": "Baner and pickup needed",
      "normalized_phone": "919900000106",
      "phone": "919900000106"
    },
    "stage": "input",
    "summary": "Received normalized message envelope",
    "timestamp": "2026-03-16T22:31:14.784839+00:00"
  },
  {
    "component": "memory_store",
    "payload": {
      "active_state_machine": null,
      "backend": "inmemory",
      "current_state": "QUALIFYING",
      "loaded": true,
      "message_count": 2,
      "storage_key": "919900000106"
    },
    "stage": "memory",
    "summary": "Loaded conversation memory",
    "timestamp": "2026-03-16T22:31:14.784846+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:31:14.784849+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": "919900000106"
    },
    "stage": "context",
    "summary": "Assembled SessionContext for the turn",
    "timestamp": "2026-03-16T22:31:14.784854+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:31:14.784858+00:00"
  },
  {
    "component": "turn_interpretation",
    "payload": {
      "confidence": 0.92,
      "contact_status": "UNKNOWN",
      "entities": {
        "area": "baner",
        "city": "pune",
        "pickup_required": true,
        "zone": "west"
      },
      "is_vague": false,
      "primary_domain": "boarding",
      "reason": "fills requested area for active workflow",
      "secondary_domains": [],
      "should_continue_active_workflow": true,
      "should_preempt_active_workflow": false,
      "urgency_signal": "none"
    },
    "stage": "decision",
    "summary": "Resolved turn interpretation deterministically",
    "timestamp": "2026-03-16T22:31:14.785139+00:00"
  },
  {
    "component": "profile_context",
    "payload": {
      "phone": "919900000106"
    },
    "stage": "context",
    "summary": "No customer matched provided phone",
    "timestamp": "2026-03-16T22:31:14.785146+00:00"
  },
  {
    "component": "entry_policy",
    "payload": {
      "allow_identity_question": false,
      "bypass_onboarding": true,
      "defer_existing_workflow": false,
      "preempt_active_workflow": false,
      "reason": "existing active workflow should continue unless urgency preempts it",
      "run_welcome_orientation": false,
      "selected_posture": "continue_active"
    },
    "stage": "decision",
    "summary": "Determined entry posture for this turn",
    "timestamp": "2026-03-16T22:31:14.785149+00:00"
  },
  {
    "component": "intent_parser",
    "payload": {
      "continue_active_workflow": true,
      "primary_intent": "boarding_request",
      "reason": "continue_active_workflow_snapshot_from_follow_up",
      "resolved_state_machine": "boarding",
      "workflow_source": "active_workflow"
    },
    "stage": "decision",
    "summary": "Resolved primary intent and state machine",
    "timestamp": "2026-03-16T22:31:14.785212+00:00"
  },
  {
    "component": "context_builder",
    "payload": {
      "active_workflow": "boarding",
      "background_fact_count": 0,
      "current_step": "QUALIFYING",
      "foreground_fact_count": 7,
      "prompt_family": "general",
      "purpose": "workflow_response"
    },
    "stage": "context",
    "summary": "Built workflow-response context slice for prompt assembly",
    "timestamp": "2026-03-16T22:31:14.785260+00:00"
  },
  {
    "component": "workflow",
    "payload": {
      "action_intents": [
        {
          "action_type": "collect_boarding_request",
          "idempotency_key": "da7d2747755b843e",
          "metadata": {
            "missing_fields": [],
            "normalized_slots": {
              "check_in_date": "2026-03-28",
              "check_in_time_window": null,
              "check_out_date": "2026-03-29",
              "check_out_time_window": "evening",
              "duration_nights": 1,
              "medical_flags": [],
              "pet_count": 2,
              "pet_names": [],
              "pickup_area": "Baner",
              "pickup_required": true,
              "raw_date_text": "next weekend",
              "raw_duration_text": null,
              "request_kind": "availability",
              "service_area": "Baner",
              "special_needs": []
            },
            "snapshot_version": 2,
            "workflow_name": "boarding",
            "workflow_stage": "ready_for_availability_check"
          },
          "payload": {
            "check_in_date": "2026-03-28",
            "check_in_time_window": null,
            "check_out_date": "2026-03-29",
            "check_out_time_window": "evening",
            "duration_nights": 1,
            "medical_flags": [],
            "pet_count": 2,
            "pet_names": [],
            "pickup_area": "Baner",
            "pickup_required": true,
            "raw_date_text": "next weekend",
            "raw_duration_text": null,
            "request_kind": "availability",
            "service_area": "Baner",
            "special_needs": []
          },
          "priority": "normal",
          "reason": "boarding workflow has enough structured detail for ops handling",
          "requires_admin_review": false,
          "source_workflow": "boarding",
          "status": "ready",
          "user_visible": false
        },
        {
          "action_type": "check_boarding_inventory",
          "idempotency_key": "a84dc2b5d4a935fd",
          "metadata": {
            "missing_fields": [],
            "normalized_slots": {
              "check_in_date": "2026-03-28",
              "check_in_time_window": null,
              "check_out_date": "2026-03-29",
              "check_out_time_window": "evening",
              "duration_nights": 1,
              "medical_flags": [],
              "pet_count": 2,
              "pet_names": [],
              "pickup_area": "Baner",
              "pickup_required": true,
              "raw_date_text": "next weekend",
              "raw_duration_text": null,
              "request_kind": "availability",
              "service_area": "Baner",
              "special_needs": []
            },
            "snapshot_version": 2,
            "workflow_name": "boarding",
            "workflow_stage": "ready_for_availability_check"
          },
          "payload": {
            "check_in_date": "2026-03-28",
            "check_in_time_window": null,
            "check_out_date": "2026-03-29",
            "check_out_time_window": "evening",
            "duration_nights": 1,
            "medical_flags": [],
            "pet_count": 2,
            "pet_names": [],
            "pickup_area": "Baner",
            "pickup_required": true,
            "raw_date_text": "next weekend",
            "raw_duration_text": null,
            "request_kind": "availability",
            "service_area": "Baner",
            "special_needs": []
          },
          "priority": "normal",
          "reason": "boarding workflow is ready for an availability check",
          "requires_admin_review": false,
          "source_workflow": "boarding",
          "status": "ready",
          "user_visible": false
        },
        {
          "action_type": "request_boarding_admin_review",
          "idempotency_key": "7de203f4b70892dc",
          "metadata": {
            "missing_fields": [],
            "normalized_slots": {
              "check_in_date": "2026-03-28",
              "check_in_time_window": null,
              "check_out_date": "2026-03-29",
              "check_out_time_window": "evening",
              "duration_nights": 1,
              "medical_flags": [],
              "pet_count": 2,
              "pet_names": [],
              "pickup_area": "Baner",
              "pickup_required": true,
              "raw_date_text": "next weekend",
              "raw_duration_text": null,
              "request_kind": "availability",
              "service_area": "Baner",
              "special_needs": []
            },
            "snapshot_version": 2,
            "workflow_name": "boarding",
            "workflow_stage": "ready_for_availability_check"
          },
          "payload": {
            "check_in_date": "2026-03-28",
            "check_in_time_window": null,
            "check_out_date": "2026-03-29",
            "check_out_time_window": "evening",
            "duration_nights": 1,
            "medical_flags": [],
            "pet_count": 2,
            "pet_names": [],
            "pickup_area": "Baner",
            "pickup_required": true,
            "raw_date_text": "next weekend",
            "raw_duration_text": null,
            "request_kind": "availability",
            "service_area": "Baner",
            "special_needs": []
          },
          "priority": "normal",
          "reason": "boarding workflow is complete enough for team confirmation",
          "requires_admin_review": true,
          "source_workflow": "boarding",
          "status": "needs_admin_review",
          "user_visible": false
        },
        {
          "action_type": "request_availability_check",
          "idempotency_key": "43d6a2ea8d353e56",
          "metadata": {
            "missing_fields": [],
            "normalized_slots": {
              "check_in_date": "2026-03-28",
              "check_in_time_window": null,
              "check_out_date": "2026-03-29",
              "check_out_time_window": "evening",
              "duration_nights": 1,
              "medical_flags": [],
              "pet_count": 2,
              "pet_names": [],
              "pickup_area": "Baner",
              "pickup_required": true,
              "raw_date_text": "next weekend",
              "raw_duration_text": null,
              "request_kind": "availability",
              "service_area": "Baner",
              "special_needs": []
            },
            "snapshot_version": 2,
            "workflow_name": "boarding",
            "workflow_stage": "ready_for_availability_check"
          },
          "payload": {
            "check_in_date": "2026-03-28",
            "check_in_time_window": null,
            "check_out_date": "2026-03-29",
            "check_out_time_window": "evening",
            "duration_nights": 1,
            "medical_flags": [],
            "pet_count": 2,
            "pet_names": [],
            "pickup_area": "Baner",
            "pickup_required": true,
            "raw_date_text": "next weekend",
            "raw_duration_text": null,
            "request_kind": "availability",
            "service_area": "Baner",
            "special_needs": []
          },
          "priority": "normal",
          "reason": "boarding workflow is ready for an availability check",
          "requires_admin_review": true,
          "source_workflow": "boarding",
          "status": "needs_admin_review",
          "user_visible": false
        }
      ],
      "missing_fields": [],
      "next_question": null,
      "stage": "ready_for_availability_check",
      "status": "ready",
      "summary": "2 cats, 2026-03-28 to 2026-03-29, Baner",
      "workflow_name": "boarding"
    },
    "stage": "decision",
    "summary": "Executed deterministic workflow handler",
    "timestamp": "2026-03-16T22:31:14.785955+00:00"
  },
  {
    "component": "memory_store",
    "payload": {
      "active_state_machine": null,
      "current_state": "READY_FOR_AVAILABILITY_CHECK",
      "message_count_after": 4,
      "storage_key": "919900000106"
    },
    "stage": "mutation",
    "summary": "Persisted updated conversation memory",
    "timestamp": "2026-03-16T22:31:14.787617+00:00"
  }
]