From 5acda5227cc76855f884b2998717f5d49d9680d2 Mon Sep 17 00:00:00 2001 From: Ethanfel Date: Sun, 28 Jun 2026 09:48:57 +0200 Subject: [PATCH] Lead hardcore pair prompts with cast --- krea_pair_formatter.py | 2 +- tools/prompt_smoke.py | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/krea_pair_formatter.py b/krea_pair_formatter.py index e4b40e4..46f8835 100644 --- a/krea_pair_formatter.py +++ b/krea_pair_formatter.py @@ -196,13 +196,13 @@ def format_insta_pair_result(request: KreaPairFormatRequest, deps: KreaPairForma soft_style if detail_level != "concise" else "", ] hard_parts = [ + hard_cast_prose, hard_action, deps.pov_camera_phrase(pov_labels), deps.natural_label_text( deps.filter_pov_labeled_clauses(deps.natural_clothing_state(row.get("hardcore_clothing_state"), hard_action), pov_labels), hard_labels, ), - hard_cast_prose, f"set in {hard_scene}" if hard_scene else "", hard_camera_scene, deps.expression_phrase(hard_expression), diff --git a/tools/prompt_smoke.py b/tools/prompt_smoke.py index 542d688..8434feb 100644 --- a/tools/prompt_smoke.py +++ b/tools/prompt_smoke.py @@ -6718,6 +6718,12 @@ def smoke_krea_pov_penetration_route() -> None: lower = prompt.lower() _expect("metadata" in krea.get("method", ""), "POV penetration route did not use metadata") _expect("viewer" in lower and "first-person" in lower, "POV penetration lost first-person wording") + cast_index = lower.find("adult woman") + viewer_index = lower.find("viewer") + _expect( + 0 <= cast_index < viewer_index, + "POV hardcore prompt should establish the visible woman before viewer/action wording", + ) _expect("penetrates" in lower or "penetration" in lower, "POV penetration lost penetration action wording") _expect("woman" in lower and "thigh" in lower, "POV penetration lost body-position anchors") _expect("action geography" not in lower, "POV penetration leaked abstract action-geography wording")