rohitg00/ai-engineering-from-scratch · error · PairingError
candidate {r.spec_id} missing seed
Error message
candidate {r.spec_id} missing seed What it means
Error "candidate {r.spec_id} missing seed" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/19-capstone-projects/53-result-evaluator/code/main.py:181
mean_diff = float(diffs.mean())
var_diff = float(diffs.var(ddof=1))
if var_diff == 0.0:
return mean_diff, (0.0 if mean_diff != 0.0 else 1.0), n
t_stat = mean_diff / math.sqrt(var_diff / n)
p = two_sided_t_p_value(t_stat, n - 1)
return mean_diff, p, n
def _pair_by_seed(
candidates: list[ExperimentResultLike],
baselines: list[ExperimentResultLike],
metric: str,
) -> tuple[list[float], list[float]]:
cand_map: dict[int, float] = {}
for r in candidates:
seed = r.metrics.get("seed")
if seed is None:
raise PairingError(f"candidate {r.spec_id} missing seed")
seed_i = int(seed)
if seed_i in cand_map:
raise PairingError(f"duplicate candidate seed {seed_i} (spec {r.spec_id})")
cand_map[seed_i] = float(r.metrics[metric])
base_map: dict[int, float] = {}
for r in baselines:
seed = r.metrics.get("seed")
if seed is None:
raise PairingError(f"baseline {r.spec_id} missing seed")
seed_i = int(seed)
if seed_i in base_map:
raise PairingError(f"duplicate baseline seed {seed_i} (spec {r.spec_id})")
base_map[seed_i] = float(r.metrics[metric])
shared = sorted(set(cand_map.keys()) & set(base_map.keys()))
if not shared:
raise PairingError("no shared seeds between candidate and baseline")
return [cand_map[s] for s in shared], [base_map[s] for s in shared]
View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/19-capstone-projects/53-result-evaluator/code/main.py:181 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of rohitg00/ai-engineering-from-scratch@39ea8a1c6d (2026-08-26).
Data as JSON: /api/errors/e83f5ed093c33503.
Report an issue: GitHub.