Add Krea2 POV routing and eval tooling
This commit is contained in:
+17
-2
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user