Add Krea2 next test plans

This commit is contained in:
2026-06-29 03:55:17 +02:00
parent 333f4752f6
commit 3a09210f71
3 changed files with 65 additions and 1 deletions
+3
View File
@@ -50,6 +50,9 @@ testing, run:
python tools/krea2_tuning_report.py python tools/krea2_tuning_report.py
``` ```
The report includes atlas references plus prompt cues and avoid cues for the
next fixed-seed test candidate.
## Optional Command Hook ## Optional Command Hook
If you have a one-shot Codex command you want to run automatically, set: If you have a one-shot Codex command you want to run automatically, set:
+45 -1
View File
@@ -66,6 +66,34 @@ def coverage_summary() -> dict[str, Any]:
} }
def next_test_plans() -> list[dict[str, Any]]:
rows_by_key = {str(row.get("key")): row for row in coverage_rows()}
plans: list[dict[str, Any]] = []
for key in coverage_summary()["next_test_candidates"]:
variant = krea2_pose_variant_catalog.get_variant(key)
if not variant:
continue
row = rows_by_key.get(key, {})
evidence = variant.get("evidence") or {}
plans.append(
{
"key": key,
"family": variant.get("family") or "",
"action_family": variant.get("action_family") or "",
"status": variant.get("status") or "",
"coverage_state": row.get("coverage_state") or "",
"canonical_geometry": variant.get("canonical_geometry") or "",
"prompt_cues": list(variant.get("prompt_cues") or []),
"avoid_cues": list(variant.get("avoid_cues") or []),
"reference_paths": [str(path) for path in krea2_pose_variant_catalog.reference_paths(key)],
"generator_hook": variant.get("generator_hook") or {},
"guide_section": evidence.get("guide_section") or "",
"notes": evidence.get("notes") or "",
}
)
return plans
def markdown_report() -> str: def markdown_report() -> str:
lines = [ lines = [
"# Krea2 Pose Variant Coverage", "# Krea2 Pose Variant Coverage",
@@ -87,5 +115,21 @@ def markdown_report() -> str:
*[f"- {key}" for key in summary["next_test_candidates"]], *[f"- {key}" for key in summary["next_test_candidates"]],
] ]
) )
plans = next_test_plans()
if plans:
lines.extend(["", "## Next Test Plans"])
for plan in plans:
lines.extend(
[
"",
f"### {plan['key']}",
"",
f"- Geometry: {plan['canonical_geometry']}",
f"- References: {', '.join(plan['reference_paths']) or 'none'}",
"- Prompt cues:",
*[f" - {cue}" for cue in plan["prompt_cues"]],
"- Avoid cues:",
*[f" - {cue}" for cue in plan["avoid_cues"]],
]
)
return "\n".join(lines) return "\n".join(lines)
+17
View File
@@ -6863,9 +6863,26 @@ def smoke_krea2_tuning_report_policy() -> None:
summary.get("variants_without_accepted_evidence") == ["pov_ballsucking_low_head"], summary.get("variants_without_accepted_evidence") == ["pov_ballsucking_low_head"],
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')}",
) )
plans = krea2_tuning_report.next_test_plans()
_expect([plan.get("key") for plan in plans] == ["pov_ballsucking_low_head"], "Krea2 tuning report next plans changed")
ballsucking_plan = plans[0]
_expect(
"woman bends forward and kneels very low" in " ".join(ballsucking_plan.get("prompt_cues") or []),
"Ballsucking test plan lost atlas-backed prompt cue",
)
_expect(
"mid-height head placement" in " ".join(ballsucking_plan.get("avoid_cues") or []),
"Ballsucking test plan lost avoid cue",
)
_expect(
any(str(path).endswith("ballsucking/101_ballsucking.png") for path in ballsucking_plan.get("reference_paths") or []),
"Ballsucking test plan lost atlas reference path",
)
markdown = krea2_tuning_report.markdown_report() markdown = krea2_tuning_report.markdown_report()
_expect("pov_ballsucking_low_head" in markdown, "Krea2 tuning report markdown lost candidate variant") _expect("pov_ballsucking_low_head" in markdown, "Krea2 tuning report markdown lost 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("Avoid cues" in markdown, "Krea2 tuning report markdown lost next-test avoid section")
def smoke_krea_pov_penetration_route() -> None: def smoke_krea_pov_penetration_route() -> None: