Expand route simulation coverage

This commit is contained in:
2026-06-27 18:49:01 +02:00
parent cac4fe47cd
commit f91953f12b
3 changed files with 215 additions and 15 deletions
+31 -1
View File
@@ -4776,6 +4776,27 @@ def smoke_sdxl_tag_routes() -> None:
_expect("penis licking" in outercourse_noise_tags, "SDXL outercourse row lost specific position key")
_expect("oral sex" not in outercourse_noise_tags, "SDXL outercourse row kept incompatible oral tag")
_expect("penetration" not in outercourse_noise_tags, "SDXL outercourse row kept incompatible penetration tag")
stale_hardcore_pose_row = _fixture_hardcore_row(
item="oral contact with mouth on the visible genitals in side-lying oral position",
pose="kneeling and balancing a cucumber upright on an open palm held overhead",
role_graph="Woman A lies on her side while Man A's mouth is pressed to her pussy.",
source_role_graph="Woman A lies on her side while Man A's mouth is pressed to her pussy.",
item_axis_values={
"position": "side-lying oral position",
"oral_act": "oral contact with mouth on the visible genitals",
},
action_family="oral",
position_family="oral",
position_key="side_lying",
position_keys=["side_lying"],
)
stale_hardcore_pose_tags = sdxl_tag_routes.row_core_tags_result(
sdxl_tag_routes.SDXLRowTagRequest(stale_hardcore_pose_row, 1.29),
deps,
).as_text()
_expect("oral sex" in stale_hardcore_pose_tags, "SDXL hardcore route lost oral family tag")
_expect("side lying" in stale_hardcore_pose_tags, "SDXL hardcore route lost structured position key")
_expect("cucumber" not in stale_hardcore_pose_tags, "SDXL hardcore route leaked generic stale pose text")
pair = pb.build_insta_of_pair(
row_number=1,
@@ -7812,10 +7833,19 @@ 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") == 5, "Prompt route simulation case count changed unexpectedly")
_expect(summary.get("cases") == 11, "Prompt route simulation case count changed unexpectedly")
_expect(summary.get("axis_checks") == 1, "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 []}
for route_name in (
"hardcore.single.oral",
"hardcore.single.manual",
"hardcore.single.outercourse",
"hardcore.single.foreplay",
"hardcore.single.anal",
"hardcore.single.climax",
):
_expect(route_name in cases, f"Prompt route simulation lost route family case {route_name}")
pov_hard = cases.get("insta_pair.pov_outercourse.hardcore") or {}
pov_summary = pov_hard.get("summary") or {}
_expect(