Awesome Reviewers

Treat error handling as deterministic control flow: classify outcomes precisely, set gating flags/budgets before the expensive/remote work, and use those classifications to decide whether to fall back/retry.

Practical rules:

Example pattern (authoritative gating):

person_done = True  # set before authoritative lookup
try:
    items = fetch_pinned_user(...)
    if not items:
        bundle.record_failure(
            "github", "no-results", f"Person mode found no activity for @{user}"
        )
    return items
except Exception as e:
    bundle.record_failure("github", "pinned-lookup-error", str(e))
    raise
# downstream must check person_done to suppress generic fan-out/retry