Add Krea2 cowgirl alt candidate
This commit is contained in:
@@ -519,6 +519,46 @@
|
|||||||
"guide_section": "",
|
"guide_section": "",
|
||||||
"notes": "Atlas shows repeated frontal woman-on-top straddle geometry; needs fixed-seed Krea2 tests before promotion to proven."
|
"notes": "Atlas shows repeated frontal woman-on-top straddle geometry; needs fixed-seed Krea2 tests before promotion to proven."
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"key": "pov_cowgirl_alt_low_squat_penetration",
|
||||||
|
"family": "cowgirl_alt",
|
||||||
|
"status": "candidate",
|
||||||
|
"atlas_folders": ["5.cowgirl_alt"],
|
||||||
|
"action_family": "penetration",
|
||||||
|
"position_keys": ["cowgirl", "frontal_straddle", "woman_on_top", "low_squat"],
|
||||||
|
"canonical_geometry": "Close first-person cowgirl-alt view: the viewer reclines below while the woman faces him in a low seated squat over the viewer's pelvis, knees bent wide near the camera, torso close above the contact line, and viewer hands or thighs anchoring the lower foreground.",
|
||||||
|
"prompt_cues": [
|
||||||
|
"POV low cowgirl seated-squat penetration position",
|
||||||
|
"woman faces the viewer in a low seated squat over the viewer's pelvis",
|
||||||
|
"her knees are bent wide and close to the camera on either side of the viewer's hips",
|
||||||
|
"her torso stays close above the centered contact line",
|
||||||
|
"viewer reclines below with thighs, pelvis, or lower torso anchoring the foreground",
|
||||||
|
"viewer hands may hold the underside of her thighs or hips without blocking the centered contact line"
|
||||||
|
],
|
||||||
|
"avoid_cues": [
|
||||||
|
"upright distant cowgirl with the torso far from the viewer",
|
||||||
|
"missionary with the woman lying on her back",
|
||||||
|
"reverse cowgirl with the woman facing away",
|
||||||
|
"folded-leg knees-to-chest geometry",
|
||||||
|
"rear-entry or doggy geometry",
|
||||||
|
"cropping away the wide bent knees and close seated position"
|
||||||
|
],
|
||||||
|
"reference_images": [
|
||||||
|
"5.cowgirl_alt/101_cowgirl_alt.png",
|
||||||
|
"5.cowgirl_alt/102_cowgirl_alt.png",
|
||||||
|
"5.cowgirl_alt/103_cowgirl_alt.png",
|
||||||
|
"5.cowgirl_alt/16_cowgirl_alt.png"
|
||||||
|
],
|
||||||
|
"generator_hook": {
|
||||||
|
"module": "krea_pov_actions.py",
|
||||||
|
"route_terms": ["cowgirl_alt", "low cowgirl", "seated-squat cowgirl", "woman-on-top"]
|
||||||
|
},
|
||||||
|
"evidence": {
|
||||||
|
"fixed_seed_tests": [],
|
||||||
|
"guide_section": "",
|
||||||
|
"notes": "Atlas shows repeated frontal woman-on-top geometry with a lower seated squat and closer thigh/hand anchors than the main cowgirl folder; needs fixed-seed Krea2 tests before promotion to proven."
|
||||||
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -188,3 +188,14 @@ stays upright above the contact line, and her knees open to either side of the
|
|||||||
viewer. Treat `pov_cowgirl_frontal_straddle_penetration` as a candidate until it
|
viewer. Treat `pov_cowgirl_frontal_straddle_penetration` as a candidate until it
|
||||||
has fixed-seed Krea2 evidence. Keep this separate from the alt and reverse
|
has fixed-seed Krea2 evidence. Keep this separate from the alt and reverse
|
||||||
cowgirl folders, which need their own geometry wording.
|
cowgirl folders, which need their own geometry wording.
|
||||||
|
|
||||||
|
### Cowgirl Alt / Low Seated-Squat Penetration
|
||||||
|
|
||||||
|
The `5.cowgirl_alt` folder is still frontal woman-on-top, not reverse cowgirl,
|
||||||
|
but the repeated pose is lower and closer than the main cowgirl folder: the
|
||||||
|
woman faces the viewer in a low seated squat over the viewer's pelvis, knees
|
||||||
|
bent wide close to the camera, with viewer hands often anchoring the underside
|
||||||
|
of her thighs or hips. Treat `pov_cowgirl_alt_low_squat_penetration` as a
|
||||||
|
candidate until it has fixed-seed Krea2 evidence. Keep this separate from the
|
||||||
|
main cowgirl route so Krea2 can choose between upright straddle wording and
|
||||||
|
closer seated-squat wording.
|
||||||
|
|||||||
+23
-1
@@ -6789,6 +6789,7 @@ def smoke_krea2_pose_variant_catalog_policy() -> None:
|
|||||||
"pov_missionary_open_leg_penetration",
|
"pov_missionary_open_leg_penetration",
|
||||||
"pov_missionary_folded_high_leg_penetration",
|
"pov_missionary_folded_high_leg_penetration",
|
||||||
"pov_cowgirl_frontal_straddle_penetration",
|
"pov_cowgirl_frontal_straddle_penetration",
|
||||||
|
"pov_cowgirl_alt_low_squat_penetration",
|
||||||
],
|
],
|
||||||
f"Krea2 pose-variant penetration filtering changed unexpectedly: {penetration}",
|
f"Krea2 pose-variant penetration filtering changed unexpectedly: {penetration}",
|
||||||
)
|
)
|
||||||
@@ -6890,6 +6891,12 @@ def smoke_krea2_pose_variant_catalog_policy() -> None:
|
|||||||
any("woman straddles the viewer facing him" in str(cue) for cue in cowgirl.get("prompt_cues", [])),
|
any("woman straddles the viewer facing him" in str(cue) for cue in cowgirl.get("prompt_cues", [])),
|
||||||
"Cowgirl variant lost frontal straddle cue",
|
"Cowgirl variant lost frontal straddle cue",
|
||||||
)
|
)
|
||||||
|
cowgirl_alt = krea2_pose_variant_catalog.get_variant("pov_cowgirl_alt_low_squat_penetration")
|
||||||
|
_expect(cowgirl_alt.get("status") == "candidate", "Cowgirl alt variant should remain a candidate until fixed-seed evidence exists")
|
||||||
|
_expect(
|
||||||
|
any("low seated squat over the viewer's pelvis" in str(cue) for cue in cowgirl_alt.get("prompt_cues", [])),
|
||||||
|
"Cowgirl alt variant lost low seated squat cue",
|
||||||
|
)
|
||||||
refs = krea2_pose_variant_catalog.reference_paths("pov_boobjob_upright_cleavage")
|
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(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")
|
_expect(all("bg" not in str(path).lower() for path in refs), "Reference paths should not include background-only atlas images")
|
||||||
@@ -6977,9 +6984,12 @@ def smoke_krea2_tuning_report_policy() -> None:
|
|||||||
cowgirl = by_key.get("pov_cowgirl_frontal_straddle_penetration") or {}
|
cowgirl = by_key.get("pov_cowgirl_frontal_straddle_penetration") or {}
|
||||||
_expect(cowgirl.get("coverage_state") == "needs_fixed_seed_tests", "Cowgirl report should need fixed-seed tests")
|
_expect(cowgirl.get("coverage_state") == "needs_fixed_seed_tests", "Cowgirl report should need fixed-seed tests")
|
||||||
_expect(cowgirl.get("accepted_evidence_count") == 0, "Cowgirl report should not have accepted evidence yet")
|
_expect(cowgirl.get("accepted_evidence_count") == 0, "Cowgirl report should not have accepted evidence yet")
|
||||||
|
cowgirl_alt = by_key.get("pov_cowgirl_alt_low_squat_penetration") or {}
|
||||||
|
_expect(cowgirl_alt.get("coverage_state") == "needs_fixed_seed_tests", "Cowgirl alt report should need fixed-seed tests")
|
||||||
|
_expect(cowgirl_alt.get("accepted_evidence_count") == 0, "Cowgirl alt report should not have accepted evidence yet")
|
||||||
summary = krea2_tuning_report.coverage_summary()
|
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("proven") == 3, "Krea2 tuning report proven count changed")
|
||||||
_expect(summary.get("status_counts", {}).get("candidate") == 11, "Krea2 tuning report candidate count changed")
|
_expect(summary.get("status_counts", {}).get("candidate") == 12, "Krea2 tuning report candidate count changed")
|
||||||
_expect(
|
_expect(
|
||||||
summary.get("variants_without_accepted_evidence") == [
|
summary.get("variants_without_accepted_evidence") == [
|
||||||
"pov_ballsucking_low_head",
|
"pov_ballsucking_low_head",
|
||||||
@@ -6993,6 +7003,7 @@ def smoke_krea2_tuning_report_policy() -> None:
|
|||||||
"pov_missionary_open_leg_penetration",
|
"pov_missionary_open_leg_penetration",
|
||||||
"pov_missionary_folded_high_leg_penetration",
|
"pov_missionary_folded_high_leg_penetration",
|
||||||
"pov_cowgirl_frontal_straddle_penetration",
|
"pov_cowgirl_frontal_straddle_penetration",
|
||||||
|
"pov_cowgirl_alt_low_squat_penetration",
|
||||||
],
|
],
|
||||||
f"Krea2 tuning report missing-evidence set changed: {summary.get('variants_without_accepted_evidence')}",
|
f"Krea2 tuning report missing-evidence set changed: {summary.get('variants_without_accepted_evidence')}",
|
||||||
)
|
)
|
||||||
@@ -7011,6 +7022,7 @@ def smoke_krea2_tuning_report_policy() -> None:
|
|||||||
"pov_missionary_open_leg_penetration",
|
"pov_missionary_open_leg_penetration",
|
||||||
"pov_missionary_folded_high_leg_penetration",
|
"pov_missionary_folded_high_leg_penetration",
|
||||||
"pov_cowgirl_frontal_straddle_penetration",
|
"pov_cowgirl_frontal_straddle_penetration",
|
||||||
|
"pov_cowgirl_alt_low_squat_penetration",
|
||||||
],
|
],
|
||||||
"Krea2 tuning report next plans changed",
|
"Krea2 tuning report next plans changed",
|
||||||
)
|
)
|
||||||
@@ -7118,6 +7130,15 @@ def smoke_krea2_tuning_report_policy() -> None:
|
|||||||
any(str(path).endswith("5.cowgirl/100_cowgirl.png") for path in cowgirl_plan.get("reference_paths") or []),
|
any(str(path).endswith("5.cowgirl/100_cowgirl.png") for path in cowgirl_plan.get("reference_paths") or []),
|
||||||
"Cowgirl test plan lost atlas reference path",
|
"Cowgirl test plan lost atlas reference path",
|
||||||
)
|
)
|
||||||
|
cowgirl_alt_plan = plan_by_key["pov_cowgirl_alt_low_squat_penetration"]
|
||||||
|
_expect(
|
||||||
|
"low seated squat over the viewer's pelvis" in " ".join(cowgirl_alt_plan.get("prompt_cues") or []),
|
||||||
|
"Cowgirl alt test plan lost low seated squat cue",
|
||||||
|
)
|
||||||
|
_expect(
|
||||||
|
any(str(path).endswith("5.cowgirl_alt/101_cowgirl_alt.png") for path in cowgirl_alt_plan.get("reference_paths") or []),
|
||||||
|
"Cowgirl alt test plan lost atlas reference path",
|
||||||
|
)
|
||||||
with tempfile.TemporaryDirectory() as tmpdir:
|
with tempfile.TemporaryDirectory() as tmpdir:
|
||||||
atlas_root = Path(tmpdir)
|
atlas_root = Path(tmpdir)
|
||||||
for folder in ("doggy", "doggy_control", "custom_pose", "custom_pose_control", "bg", "woman", "doggy_bg"):
|
for folder in ("doggy", "doggy_control", "custom_pose", "custom_pose_control", "bg", "woman", "doggy_bg"):
|
||||||
@@ -7160,6 +7181,7 @@ def smoke_krea2_tuning_report_policy() -> None:
|
|||||||
_expect("pov_missionary_open_leg_penetration" in markdown, "Krea2 tuning report markdown lost missionary candidate variant")
|
_expect("pov_missionary_open_leg_penetration" in markdown, "Krea2 tuning report markdown lost missionary candidate variant")
|
||||||
_expect("pov_missionary_folded_high_leg_penetration" in markdown, "Krea2 tuning report markdown lost folded missionary candidate variant")
|
_expect("pov_missionary_folded_high_leg_penetration" in markdown, "Krea2 tuning report markdown lost folded missionary candidate variant")
|
||||||
_expect("pov_cowgirl_frontal_straddle_penetration" in markdown, "Krea2 tuning report markdown lost cowgirl candidate variant")
|
_expect("pov_cowgirl_frontal_straddle_penetration" in markdown, "Krea2 tuning report markdown lost cowgirl candidate variant")
|
||||||
|
_expect("pov_cowgirl_alt_low_squat_penetration" in markdown, "Krea2 tuning report markdown lost cowgirl alt candidate variant")
|
||||||
_expect("needs_fixed_seed_tests" in markdown, "Krea2 tuning report markdown lost coverage state")
|
_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("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")
|
_expect("Avoid cues" in markdown, "Krea2 tuning report markdown lost next-test avoid section")
|
||||||
|
|||||||
Reference in New Issue
Block a user