Add Krea2 missionary candidate

This commit is contained in:
2026-06-29 06:04:08 +02:00
parent 2a29fcdfbb
commit f855c7b022
3 changed files with 78 additions and 1 deletions
+30 -1
View File
@@ -6782,6 +6782,14 @@ def smoke_krea2_pose_variant_catalog_policy() -> None:
],
f"Krea2 pose-variant proven keys changed unexpectedly: {proven}",
)
penetration = krea2_pose_variant_catalog.variant_keys(action_family="penetration")
_expect(
penetration == [
"pov_doggy_top_down_rear_entry",
"pov_missionary_open_leg_penetration",
],
f"Krea2 pose-variant penetration filtering changed unexpectedly: {penetration}",
)
outercourse = krea2_pose_variant_catalog.variant_keys(action_family="outercourse")
_expect(
outercourse == [
@@ -6862,6 +6870,12 @@ def smoke_krea2_pose_variant_catalog_policy() -> None:
any("woman sits upright between the viewer's open thighs" in str(cue) for cue in oral_sitting.get("prompt_cues", [])),
"Blowjob sitting variant lost upright sitting cue",
)
missionary = krea2_pose_variant_catalog.get_variant("pov_missionary_open_leg_penetration")
_expect(missionary.get("status") == "candidate", "Missionary variant should remain a candidate until fixed-seed evidence exists")
_expect(
any("woman reclines on her back with knees open toward the viewer" in str(cue) for cue in missionary.get("prompt_cues", [])),
"Missionary variant lost open-leg reclined cue",
)
refs = krea2_pose_variant_catalog.reference_paths("pov_boobjob_upright_cleavage")
_expect(refs and all(path.name.endswith(".png") for path in refs), "Boobjob reference paths are not image paths")
_expect(all("bg" not in str(path).lower() for path in refs), "Reference paths should not include background-only atlas images")
@@ -6940,9 +6954,12 @@ def smoke_krea2_tuning_report_policy() -> None:
oral_sitting = by_key.get("pov_blowjob_sitting_upright_oral") or {}
_expect(oral_sitting.get("coverage_state") == "needs_fixed_seed_tests", "Blowjob sitting report should need fixed-seed tests")
_expect(oral_sitting.get("accepted_evidence_count") == 0, "Blowjob sitting report should not have accepted evidence yet")
missionary = by_key.get("pov_missionary_open_leg_penetration") or {}
_expect(missionary.get("coverage_state") == "needs_fixed_seed_tests", "Missionary report should need fixed-seed tests")
_expect(missionary.get("accepted_evidence_count") == 0, "Missionary report should not have accepted evidence yet")
summary = krea2_tuning_report.coverage_summary()
_expect(summary.get("status_counts", {}).get("proven") == 3, "Krea2 tuning report proven count changed")
_expect(summary.get("status_counts", {}).get("candidate") == 8, "Krea2 tuning report candidate count changed")
_expect(summary.get("status_counts", {}).get("candidate") == 9, "Krea2 tuning report candidate count changed")
_expect(
summary.get("variants_without_accepted_evidence") == [
"pov_ballsucking_low_head",
@@ -6953,6 +6970,7 @@ def smoke_krea2_tuning_report_policy() -> None:
"pov_blowjob_side_profile_oral",
"pov_blowjob_laying_frontal_oral",
"pov_blowjob_sitting_upright_oral",
"pov_missionary_open_leg_penetration",
],
f"Krea2 tuning report missing-evidence set changed: {summary.get('variants_without_accepted_evidence')}",
)
@@ -6968,6 +6986,7 @@ def smoke_krea2_tuning_report_policy() -> None:
"pov_blowjob_side_profile_oral",
"pov_blowjob_laying_frontal_oral",
"pov_blowjob_sitting_upright_oral",
"pov_missionary_open_leg_penetration",
],
"Krea2 tuning report next plans changed",
)
@@ -7048,6 +7067,15 @@ def smoke_krea2_tuning_report_policy() -> None:
any(str(path).endswith("blowjob_sitting/100_blowjob_sitting.png") for path in oral_sitting_plan.get("reference_paths") or []),
"Blowjob sitting test plan lost atlas reference path",
)
missionary_plan = plan_by_key["pov_missionary_open_leg_penetration"]
_expect(
"woman reclines on her back with knees open toward the viewer" in " ".join(missionary_plan.get("prompt_cues") or []),
"Missionary test plan lost open-leg reclined cue",
)
_expect(
any(str(path).endswith("missionary/101_missionary.png") for path in missionary_plan.get("reference_paths") or []),
"Missionary test plan lost atlas reference path",
)
with tempfile.TemporaryDirectory() as tmpdir:
atlas_root = Path(tmpdir)
for folder in ("doggy", "doggy_control", "custom_pose", "custom_pose_control", "bg", "woman", "doggy_bg"):
@@ -7087,6 +7115,7 @@ def smoke_krea2_tuning_report_policy() -> None:
_expect("pov_blowjob_side_profile_oral" in markdown, "Krea2 tuning report markdown lost blowjob side candidate variant")
_expect("pov_blowjob_laying_frontal_oral" in markdown, "Krea2 tuning report markdown lost blowjob laying candidate variant")
_expect("pov_blowjob_sitting_upright_oral" in markdown, "Krea2 tuning report markdown lost blowjob sitting candidate variant")
_expect("pov_missionary_open_leg_penetration" in markdown, "Krea2 tuning report markdown lost missionary candidate variant")
_expect("needs_fixed_seed_tests" in markdown, "Krea2 tuning report markdown lost coverage state")
_expect("Prompt cues" in markdown, "Krea2 tuning report markdown lost next-test cue section")
_expect("Avoid cues" in markdown, "Krea2 tuning report markdown lost next-test avoid section")