Skip to content

refactor(hotel_receptionist): split scenarios into scoped and open-ended files - #7065

Merged
u9g merged 3 commits into
mainfrom
jason/split-hotel-scenarios
Aug 31, 2026
Merged

refactor(hotel_receptionist): split scenarios into scoped and open-ended files#7065
u9g merged 3 commits into
mainfrom
jason/split-hotel-scenarios

Conversation

@u9g

@u9g u9g commented Aug 31, 2026

Copy link
Copy Markdown
Contributor

What

Splits examples/hotel_receptionist/scenarios.yaml (100 scenarios) into two files, as agreed in the 2026-08-27 eng sync:

  • scenarios_tool_flows.yaml (57) — scoped tool-based scenarios. Every scenario drives a concrete tool flow to a deterministic end state and is graded on the final DB diff (userdata.expected_state) in addition to agent_expectations. These are the ones representative of real customer flows and usable to evaluate simulation quality.
  • scenarios_guardrails_and_faq.yaml (43) — open-ended/adversarial scenarios: disputes, complaints, policy/info Q&A, guardrail probes (prompt extraction, privacy pressure, harmful requests), and judgment calls. Graded on agent_expectations only; useful for guardrail testing, not sim-quality evaluation.

Split criterion

Presence of a deterministic userdata.expected_state — the objective encoding of "scoped tool-based": the scenario's outcome is asserted as DB state written through the agent's tools. Everything NL-judge-only goes to the guardrails file. If any individual scenario should live on the other side, moving it is a pure cut/paste.

Guarantees

The split was done textually (comments and formatting preserved) and validated by script:

  • both files parse; the union == the original 100 scenarios, content-identical (compared as parsed YAML)
  • every tool-flow scenario has expected_state; no guardrails/faq scenario does

Only the file headers and the two suite name fields are new. Nothing in the repo references scenarios.yaml by path, so no code changes are needed.

…ded files

Pure split of scenarios.yaml, decided in the 2026-08-27 eng sync: scenarios
graded deterministically on the final DB diff (userdata.expected_state) move
to scenarios_scoped.yaml (57); scenarios graded on agent_expectations alone —
disputes, policy/info Q&A, guardrail probes, judgment calls — move to
scenarios_open_ended.yaml (43). Scenario bodies are byte-identical; only the
file headers and suite names are new.
@u9g
u9g requested a review from a team as a code owner August 31, 2026 15:55

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

✅ Devin Review: No Issues Found

Devin Review analyzed this PR and found no bugs or issues to report.

Devin Review

u9g added 2 commits August 31, 2026 12:03
…specific names

scenarios_scoped.yaml -> scenarios_tool_flows.yaml
scenarios_open_ended.yaml -> scenarios_guardrails_and_faq.yaml

Per PR review: names now describe the content (concrete tool-driven guest
tasks vs guardrail probes, disputes, and policy/info Q&A) rather than the
grading mechanism.
@u9g
u9g merged commit ba3d6bd into main Aug 31, 2026
23 checks passed
@u9g
u9g deleted the jason/split-hotel-scenarios branch August 31, 2026 19:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants