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.