Mark sixty-nine as low-priority control route
This commit is contained in:
@@ -336,6 +336,9 @@
|
||||
"key": "pov_sixty_nine_close_reversed_oral",
|
||||
"family": "sixty_nine",
|
||||
"status": "unstable",
|
||||
"difficulty": "hardest",
|
||||
"priority": "low",
|
||||
"control_requirement": "pose_or_image_guidance_first",
|
||||
"atlas_folders": ["69"],
|
||||
"action_family": "oral",
|
||||
"position_keys": ["sixty_nine"],
|
||||
@@ -368,7 +371,7 @@
|
||||
"evidence": {
|
||||
"fixed_seed_tests": [],
|
||||
"guide_section": "",
|
||||
"notes": "Atlas geometry is consistent but visually fragile for text-only Krea2 prompting; keep this unstable until fixed-seed tests prove a reliable wording or a control-image route is wired."
|
||||
"notes": "Lowest-priority atlas route for now: geometry is consistent but visually fragile for text-only Krea2 prompting. Treat it as a pose/control-image or image-guidance-first case, not a normal prompt-only fixed-seed candidate."
|
||||
}
|
||||
},
|
||||
{
|
||||
|
||||
@@ -158,10 +158,11 @@ The `69` folder repeats a close first-person mutual-oral layout rather than a
|
||||
wide side-by-side pose: the visible partner is reversed over the viewer, hips
|
||||
closest to camera, head and torso receding away into the upper frame, and the
|
||||
viewer face or mouth anchoring the lower foreground. Treat
|
||||
`pov_sixty_nine_close_reversed_oral` as unstable until fixed-seed tests prove a
|
||||
reliable wording. When exact geometry matters, prefer a pose/control image or a
|
||||
narrower image-guided route; text alone can collapse this into generic oral
|
||||
contact or lose the reversed-over-viewer body arrangement.
|
||||
`pov_sixty_nine_close_reversed_oral` as the hardest and lowest-priority route in
|
||||
the atlas for now. Do not queue it as a normal prompt-only fixed-seed candidate.
|
||||
When exact geometry matters, prefer a pose/control image or a narrower
|
||||
image-guided route; text alone can collapse this into generic oral contact or
|
||||
lose the reversed-over-viewer body arrangement.
|
||||
|
||||
### Blowjob Top View
|
||||
|
||||
|
||||
@@ -229,6 +229,24 @@ Do not over-prompt `viewer torso and thighs outside frame`; seeds `65` and
|
||||
that. Prefer framing them as plausible foreground body cues rather than trying
|
||||
to suppress them.
|
||||
|
||||
## Stronger-Control / Low-Priority Cases
|
||||
|
||||
Some atlas routes are useful to catalog but are not good prompt-only tuning
|
||||
targets yet. Keep these out of the normal fixed-seed prompt queue until easier
|
||||
pose families are covered.
|
||||
|
||||
### Sixty-Nine / Close Reversed POV
|
||||
|
||||
`pov_sixty_nine_close_reversed_oral` is currently the hardest and low-priority
|
||||
atlas route. It should be treated as a pose/control image or image-guided route
|
||||
first, not a normal prompt-only fixed-seed candidate.
|
||||
|
||||
The repeated atlas geometry is close and specific: the visible partner is
|
||||
reversed over the viewer, hips closest to the camera, head and torso receding
|
||||
away into the upper frame, and the viewer face or mouth anchoring the lower
|
||||
foreground. Text-only prompting can collapse this into generic oral contact or
|
||||
lose the reversed-over-viewer body arrangement.
|
||||
|
||||
## Style
|
||||
|
||||
Style should describe rendering, not camera mechanics.
|
||||
|
||||
@@ -53,6 +53,9 @@ def coverage_rows() -> list[dict[str, Any]]:
|
||||
"family": variant.get("family") or "",
|
||||
"action_family": variant.get("action_family") or "",
|
||||
"status": status,
|
||||
"difficulty": variant.get("difficulty") or "",
|
||||
"priority": variant.get("priority") or "",
|
||||
"control_requirement": variant.get("control_requirement") or "",
|
||||
"coverage_state": _coverage_state(status, len(accepted)),
|
||||
"accepted_evidence_count": len(accepted),
|
||||
"total_evidence_count": len(evidence),
|
||||
@@ -83,6 +86,11 @@ def coverage_summary() -> dict[str, Any]:
|
||||
for row in rows
|
||||
if row.get("coverage_state") in {"needs_fixed_seed_tests", "proven_missing_evidence"}
|
||||
],
|
||||
"stronger_control_cases": [
|
||||
str(row.get("key"))
|
||||
for row in rows
|
||||
if row.get("coverage_state") == "needs_stronger_control"
|
||||
],
|
||||
}
|
||||
|
||||
|
||||
@@ -256,6 +264,16 @@ def markdown_report(atlas_root: str | Path | None = None) -> str:
|
||||
*[f"- {key}" for key in summary["next_test_candidates"]],
|
||||
]
|
||||
)
|
||||
stronger_control_rows = [row for row in coverage_rows() if row.get("coverage_state") == "needs_stronger_control"]
|
||||
if stronger_control_rows:
|
||||
lines.extend(["", "## Stronger Control Cases", ""])
|
||||
for row in stronger_control_rows:
|
||||
difficulty = row.get("difficulty") or "unrated"
|
||||
priority = row.get("priority") or "unprioritized"
|
||||
control_requirement = row.get("control_requirement") or "control_needed"
|
||||
lines.append(
|
||||
f"- {row['key']}: {difficulty}, {priority} priority, {control_requirement}"
|
||||
)
|
||||
plans = next_test_plans()
|
||||
if plans:
|
||||
lines.extend(["", "## Next Test Plans"])
|
||||
|
||||
@@ -6874,6 +6874,12 @@ def smoke_krea2_pose_variant_catalog_policy() -> None:
|
||||
)
|
||||
sixty_nine = krea2_pose_variant_catalog.get_variant("pov_sixty_nine_close_reversed_oral")
|
||||
_expect(sixty_nine.get("status") == "unstable", "Sixty-nine route should stay unstable until text-only evidence improves")
|
||||
_expect(sixty_nine.get("difficulty") == "hardest", "Sixty-nine route should be marked as the hardest atlas route")
|
||||
_expect(sixty_nine.get("priority") == "low", "Sixty-nine route should be marked low priority")
|
||||
_expect(
|
||||
sixty_nine.get("control_requirement") == "pose_or_image_guidance_first",
|
||||
"Sixty-nine route should require pose/image guidance before prompt-only tuning",
|
||||
)
|
||||
_expect(
|
||||
any("visible partner is reversed over the viewer with hips closest" in str(cue) for cue in sixty_nine.get("prompt_cues", [])),
|
||||
"Sixty-nine variant lost reversed-over-viewer cue",
|
||||
@@ -6990,6 +6996,15 @@ def smoke_krea2_eval_log_policy() -> None:
|
||||
_expect(clean.get("observation") != "mutation should not leak", "Krea2 eval log leaked caller mutation")
|
||||
|
||||
|
||||
def smoke_krea2_prompt_guide_policy() -> None:
|
||||
guide = (ROOT / "docs" / "krea2-prompt-guide.md").read_text(encoding="utf-8")
|
||||
_expect("## Stronger-Control / Low-Priority Cases" in guide, "Krea2 prompt guide lost stronger-control section")
|
||||
_expect("pov_sixty_nine_close_reversed_oral" in guide, "Krea2 prompt guide lost sixty-nine unstable route")
|
||||
_expect("hardest" in guide and "low-priority" in guide, "Krea2 prompt guide lost hardest low-priority wording")
|
||||
_expect("not a normal prompt-only fixed-seed candidate" in guide, "Krea2 prompt guide should not queue sixty-nine as normal prompt tuning")
|
||||
_expect("pose/control image" in guide or "image-guided" in guide, "Krea2 prompt guide lost control-first guidance")
|
||||
|
||||
|
||||
def smoke_krea2_tuning_report_policy() -> None:
|
||||
rows = krea2_tuning_report.coverage_rows()
|
||||
catalog_keys = krea2_pose_variant_catalog.variant_keys()
|
||||
@@ -7022,6 +7037,12 @@ def smoke_krea2_tuning_report_policy() -> None:
|
||||
sixty_nine = by_key.get("pov_sixty_nine_close_reversed_oral") or {}
|
||||
_expect(sixty_nine.get("coverage_state") == "needs_stronger_control", "Sixty-nine report should require stronger control")
|
||||
_expect(sixty_nine.get("accepted_evidence_count") == 0, "Sixty-nine report should not have accepted evidence yet")
|
||||
_expect(sixty_nine.get("difficulty") == "hardest", "Sixty-nine report lost hardest-route marker")
|
||||
_expect(sixty_nine.get("priority") == "low", "Sixty-nine report lost low-priority marker")
|
||||
_expect(
|
||||
sixty_nine.get("control_requirement") == "pose_or_image_guidance_first",
|
||||
"Sixty-nine report lost control-first marker",
|
||||
)
|
||||
spread = by_key.get("pov_spread_open_thigh_presentation") or {}
|
||||
_expect(spread.get("coverage_state") == "needs_fixed_seed_tests", "Spread report should need fixed-seed tests")
|
||||
_expect(spread.get("accepted_evidence_count") == 0, "Spread report should not have accepted evidence yet")
|
||||
@@ -7081,6 +7102,10 @@ def smoke_krea2_tuning_report_policy() -> None:
|
||||
],
|
||||
f"Krea2 tuning report missing-evidence set changed: {summary.get('variants_without_accepted_evidence')}",
|
||||
)
|
||||
_expect(
|
||||
summary.get("stronger_control_cases") == ["pov_sixty_nine_close_reversed_oral"],
|
||||
f"Krea2 tuning report stronger-control set changed: {summary.get('stronger_control_cases')}",
|
||||
)
|
||||
plans = krea2_tuning_report.next_test_plans()
|
||||
_expect(
|
||||
"pov_sixty_nine_close_reversed_oral" not in [plan.get("key") for plan in plans],
|
||||
@@ -7304,6 +7329,10 @@ def smoke_krea2_tuning_report_policy() -> None:
|
||||
_expect("seed 7302" in markdown, "Krea2 tuning report markdown lost evidence seed")
|
||||
_expect("generator_patch" in markdown, "Krea2 tuning report markdown lost evidence decision")
|
||||
_expect("upright frontal boobjob geometry" in markdown, "Krea2 tuning report markdown lost evidence prompt summary")
|
||||
_expect("## Stronger Control Cases" in markdown, "Krea2 tuning report markdown lost stronger-control section")
|
||||
_expect("hardest" in markdown, "Krea2 tuning report markdown lost hardest-route marker")
|
||||
_expect("low priority" in markdown, "Krea2 tuning report markdown lost low-priority marker")
|
||||
_expect("pose_or_image_guidance_first" in markdown, "Krea2 tuning report markdown lost control-first marker")
|
||||
_expect("pov_ballsucking_low_head" in markdown, "Krea2 tuning report markdown lost candidate variant")
|
||||
_expect("pov_footjob_frontal_sole_stroke" in markdown, "Krea2 tuning report markdown lost footjob candidate variant")
|
||||
_expect("pov_fingering_reclined_open_thighs" in markdown, "Krea2 tuning report markdown lost fingering candidate variant")
|
||||
@@ -10333,6 +10362,7 @@ SMOKE_CASES: list[tuple[str, Callable[[], None]]] = [
|
||||
("krea2_pov_pose_variant_catalog", smoke_krea2_pov_pose_variant_catalog),
|
||||
("krea2_pose_variant_catalog_policy", smoke_krea2_pose_variant_catalog_policy),
|
||||
("krea2_eval_log_policy", smoke_krea2_eval_log_policy),
|
||||
("krea2_prompt_guide_policy", smoke_krea2_prompt_guide_policy),
|
||||
("krea2_tuning_report_policy", smoke_krea2_tuning_report_policy),
|
||||
("krea_pov_penetration_route", smoke_krea_pov_penetration_route),
|
||||
("pov_outercourse_position_routes", smoke_pov_outercourse_position_routes),
|
||||
|
||||
Reference in New Issue
Block a user