Validate route simulation family coverage

This commit is contained in:
2026-06-27 19:24:15 +02:00
parent 2b41a82869
commit 3cd34f650e
2 changed files with 115 additions and 2 deletions
+21 -1
View File
@@ -7911,7 +7911,8 @@ def smoke_seed_config_policy() -> None:
def smoke_prompt_route_simulation_policy() -> None:
report = prompt_route_simulation.run_simulation(seed=3901, include_prompts=False)
summary = report.get("summary") or {}
_expect(summary.get("cases") == 13, "Prompt route simulation case count changed unexpectedly")
_expect(summary.get("cases") == 14, "Prompt route simulation case count changed unexpectedly")
_expect(summary.get("coverage_checks") == 2, "Prompt route simulation lost family coverage checks")
_expect(summary.get("axis_checks") == 6, "Prompt route simulation lost axis check coverage")
_expect(summary.get("issues") == 0, f"Prompt route simulation reported issues: {report.get('issues')}")
cases = {case.get("name"): case for case in report.get("cases") or []}
@@ -7920,10 +7921,29 @@ def smoke_prompt_route_simulation_policy() -> None:
"hardcore.single.manual",
"hardcore.single.outercourse",
"hardcore.single.foreplay",
"hardcore.single.interaction",
"hardcore.single.anal",
"hardcore.single.threesome",
"hardcore.single.group",
"hardcore.single.climax",
"insta_pair.penetration.hardcore",
):
_expect(route_name in cases, f"Prompt route simulation lost route family case {route_name}")
coverage_checks = {check.get("name"): check for check in report.get("coverage_checks") or []}
action_coverage = coverage_checks.get("route_coverage.action_families") or {}
position_coverage = coverage_checks.get("route_coverage.position_families") or {}
_expect(not action_coverage.get("issues"), f"Prompt route simulation action coverage failed: {action_coverage}")
_expect(not position_coverage.get("issues"), f"Prompt route simulation position coverage failed: {position_coverage}")
expected_actions = (
set(hardcore_action_metadata.HARDCORE_ACTION_FAMILY_CHOICES)
- prompt_route_simulation.ROUTE_SIM_ACTION_FAMILY_EXCLUSIONS
)
expected_positions = (
set(hardcore_position_config.hardcore_position_family_choices())
- prompt_route_simulation.ROUTE_SIM_POSITION_FAMILY_EXCLUSIONS
)
_expect(set(action_coverage.get("observed") or []) == expected_actions, "Prompt route simulation action coverage drifted")
_expect(set(position_coverage.get("observed") or []) == expected_positions, "Prompt route simulation position coverage drifted")
pov_hard = cases.get("insta_pair.pov_outercourse.hardcore") or {}
pov_summary = pov_hard.get("summary") or {}
_expect(