Add Krea2 POV routing and eval tooling

This commit is contained in:
2026-06-30 19:28:10 +02:00
parent 284c6279e6
commit f5ba07e340
29 changed files with 6331 additions and 400 deletions
+17 -2
View File
@@ -10,7 +10,13 @@ from typing import Any
ROOT = Path(__file__).resolve().parent
DEFAULT_EVAL_LOG_PATH = ROOT / "docs" / "krea2-eval-log.json"
VALID_RESULTS = {"accepted", "rejected", "inconclusive"}
VALID_DECISIONS = {"generator_patch", "prompt_guide_rule", "prompt_only_retry", "needs_more_tests"}
VALID_DECISIONS = {
"generator_patch",
"provisional_generator_patch",
"prompt_guide_rule",
"prompt_only_retry",
"needs_more_tests",
}
def _path_key(path: str | Path | None = None) -> str:
@@ -55,6 +61,7 @@ def entry_template(
variant_key: str,
*,
seed: int,
generator_seed: int | None = None,
source: str = "sxcp_eval_mcp",
date: str = "",
result: str = "inconclusive",
@@ -63,10 +70,12 @@ def entry_template(
) -> dict[str, Any]:
if not isinstance(seed, int) or isinstance(seed, bool):
raise ValueError("seed must be an integer")
if generator_seed is not None and (not isinstance(generator_seed, int) or isinstance(generator_seed, bool)):
raise ValueError("generator_seed must be an integer")
variant = _text(variant_key).strip()
if not variant:
raise ValueError("variant_key is required")
return {
entry = {
"id": f"{_entry_id_slug(variant)}-{seed}-eval",
"date": date,
"variant_key": variant,
@@ -81,6 +90,9 @@ def entry_template(
"candidate_image": "",
"commit": commit,
}
if generator_seed is not None:
entry["generator_seed"] = generator_seed
return entry
def validate_entry(
@@ -108,6 +120,9 @@ def validate_entry(
seed = entry.get("seed")
if not isinstance(seed, int) or isinstance(seed, bool):
errors.append("seed must be an integer")
generator_seed = entry.get("generator_seed")
if generator_seed is not None and (not isinstance(generator_seed, int) or isinstance(generator_seed, bool)):
errors.append("generator_seed must be an integer")
result = entry.get("result")
if result not in VALID_RESULTS: