Show latest Krea2 evidence in tuning report

This commit is contained in:
2026-06-29 08:45:49 +02:00
parent b8e15289ca
commit 3467acbd6a
3 changed files with 48 additions and 1 deletions
+34
View File
@@ -23,6 +23,23 @@ def _coverage_state(status: str, accepted_count: int) -> str:
return "tracked"
def _latest_evidence(entries: list[dict[str, Any]], *, result: str | None = None) -> dict[str, Any]:
filtered = [entry for entry in entries if result is None or entry.get("result") == result]
if not filtered:
return {}
entry = filtered[-1]
return {
"id": entry.get("id") or "",
"seed": entry.get("seed"),
"result": entry.get("result") or "",
"decision": entry.get("decision") or "",
"baseline_prompt_summary": entry.get("baseline_prompt_summary") or "",
"candidate_prompt_summary": entry.get("candidate_prompt_summary") or "",
"observation": entry.get("observation") or "",
"commit": entry.get("commit") or "",
}
def coverage_rows() -> list[dict[str, Any]]:
rows: list[dict[str, Any]] = []
for variant in krea2_pose_variant_catalog.variants():
@@ -39,6 +56,8 @@ def coverage_rows() -> list[dict[str, Any]]:
"coverage_state": _coverage_state(status, len(accepted)),
"accepted_evidence_count": len(accepted),
"total_evidence_count": len(evidence),
"latest_evidence": _latest_evidence(evidence),
"latest_accepted_evidence": _latest_evidence(evidence, result="accepted"),
"reference_count": len(variant.get("reference_images") or []),
"guide_section": (variant.get("evidence") or {}).get("guide_section", ""),
}
@@ -212,6 +231,21 @@ def markdown_report(atlas_root: str | Path | None = None) -> str:
lines.append(
f"| {row['key']} | {row['status']} | {row['accepted_evidence_count']}/{row['total_evidence_count']} | {row['coverage_state']} |"
)
evidence_rows = [row for row in coverage_rows() if row.get("latest_evidence")]
if evidence_rows:
lines.extend(["", "## Latest Evidence", ""])
for row in evidence_rows:
evidence = row.get("latest_evidence") or {}
seed = evidence.get("seed")
seed_text = f"seed {seed}" if isinstance(seed, int) else "seed unknown"
commit = evidence.get("commit") or "uncommitted"
lines.append(
f"- {row['key']}: {evidence.get('id') or 'unnamed'} ({evidence.get('result') or 'unknown'}, {seed_text}, {evidence.get('decision') or 'unknown'}, commit {commit})"
)
if evidence.get("candidate_prompt_summary"):
lines.append(f" Candidate: {evidence['candidate_prompt_summary']}")
if evidence.get("observation"):
lines.append(f" Observation: {evidence['observation']}")
summary = coverage_summary()
if summary["next_test_candidates"]:
lines.extend(