Add Krea2 missionary candidate
This commit is contained in:
@@ -405,6 +405,44 @@
|
||||
"guide_section": "",
|
||||
"notes": "Atlas contains some top-view outliers, but the named sitting files show repeated upright, front-facing first-person oral geometry; needs fixed-seed Krea2 tests before promotion to proven."
|
||||
}
|
||||
},
|
||||
{
|
||||
"key": "pov_missionary_open_leg_penetration",
|
||||
"family": "missionary",
|
||||
"status": "candidate",
|
||||
"atlas_folders": ["missionary"],
|
||||
"action_family": "penetration",
|
||||
"position_keys": ["missionary", "open_thighs", "front_entry"],
|
||||
"canonical_geometry": "First-person missionary view from above the viewer's pelvis: the woman reclines on her back facing the viewer, knees open toward the viewer, thighs frame the central contact line, and the viewer's lower body or hands anchor the lower foreground.",
|
||||
"prompt_cues": [
|
||||
"POV missionary open-leg penetration position",
|
||||
"woman reclines on her back with knees open toward the viewer",
|
||||
"her face, torso, and open thighs remain visible in one frame",
|
||||
"viewer is positioned between her legs from the lower foreground",
|
||||
"thighs frame the central penetration line",
|
||||
"viewer hands may hold her thighs without blocking the contact geometry"
|
||||
],
|
||||
"avoid_cues": [
|
||||
"folded-leg or knees-to-chest geometry",
|
||||
"rear-entry or doggy geometry",
|
||||
"side-profile framing",
|
||||
"cropping away the woman's face and torso",
|
||||
"viewer standing far back instead of positioned between her legs"
|
||||
],
|
||||
"reference_images": [
|
||||
"missionary/101_missionary.png",
|
||||
"missionary/102_missionary.png",
|
||||
"missionary/1_missionary.png"
|
||||
],
|
||||
"generator_hook": {
|
||||
"module": "krea_pov_actions.py",
|
||||
"route_terms": ["missionary", "open-leg penetration", "front-entry"]
|
||||
},
|
||||
"evidence": {
|
||||
"fixed_seed_tests": [],
|
||||
"guide_section": "",
|
||||
"notes": "Atlas shows repeated front-facing open-leg missionary geometry; keep separate from folded-leg missionary until fixed-seed Krea2 tests prove which wording is reliable."
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
|
||||
@@ -160,3 +160,13 @@ reclines with open thighs framing the lower foreground, the woman sits upright
|
||||
between the viewer's thighs, and her close front-facing mouth aligns to a
|
||||
vertical centered shaft. Treat `pov_blowjob_sitting_upright_oral` as a candidate
|
||||
until it has fixed-seed Krea2 evidence.
|
||||
|
||||
### Missionary / Open-Leg Penetration
|
||||
|
||||
The `missionary` folder repeats a front-facing first-person penetration layout:
|
||||
the woman reclines on her back facing the viewer, her knees open toward the
|
||||
viewer, her face and torso stay visible behind the open-thigh frame, and the
|
||||
viewer is positioned between her legs from the lower foreground. Treat
|
||||
`pov_missionary_open_leg_penetration` as a candidate until it has fixed-seed
|
||||
Krea2 evidence. Keep this separate from `missionary_folded`, where the legs are
|
||||
pressed much higher and need different wording.
|
||||
|
||||
+30
-1
@@ -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")
|
||||
|
||||
Reference in New Issue
Block a user