rohitg00/ai-engineering-from-scratch · error · ValueError
override requires task_id, finding_code, reason, user_id, he
Error message
override requires task_id, finding_code, reason, user_id, head_commit
What it means
Error "override requires task_id, finding_code, reason, user_id, head_commit" thrown in rohitg00/ai-engineering-from-scratch.
Source
Thrown at phases/14-agent-engineering/38-verification-gates/code/main.py:179
passed=not blocking,
strict=strict,
findings=findings,
coverage=art.coverage_report,
head_commit=art.head_commit,
)
def _sign(payload: dict[str, object]) -> str:
canonical = json.dumps(payload, sort_keys=True, separators=(",", ":")).encode()
return hmac.new(_load_override_secret().encode(), canonical, hashlib.sha256).hexdigest()[:32]
def record_override(
task_id: str, finding_code: str, reason: str, user_id: str, head_commit: str
) -> dict[str, object]:
"""Append a signed override entry. Refuses without all five fields populated."""
if not all([task_id, finding_code, reason, user_id, head_commit]):
raise ValueError("override requires task_id, finding_code, reason, user_id, head_commit")
payload = {
"task_id": task_id,
"finding_code": finding_code,
"reason": reason,
"user_id": user_id,
"head_commit": head_commit,
"ts": time.time(),
}
payload["signature"] = _sign({k: v for k, v in payload.items() if k != "signature"})
with OVERRIDES_PATH.open("a") as fh:
fh.write(json.dumps(payload) + "\n")
return payload
def verify_signature(entry: dict[str, object]) -> bool:
expected = entry.get("signature")
payload = {k: v for k, v in entry.items() if k != "signature"}
return hmac.compare_digest(_sign(payload), str(expected))View on GitHub (pinned to 39ea8a1c6d)
When it happens
Trigger: Thrown at phases/14-agent-engineering/38-verification-gates/code/main.py:179 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/b65b0893730ccf7d.
Report an issue: GitHub.