GET /api/v1/ai2/verdict
Last verified
Auto-generated. This article is rebuilt from FastAPI route introspection by
scripts/build_api_kb.py. Edit the route docstring inapp/and re-run the script β do not edit this file directly.
GET /api/v1/ai2/verdict
Handler: app.signals.ai_brief_routes.ai2_verdict
Methods: GET
Description
PUBLIC β the AI-2 deterministic verdict for today, the read /tape
renders (two-stage system Wave 4).
Two-tier serving, in preference order:
- Persisted-first. The newest
ai2_verdictsrow withvariant='deterministic'(viaai2_verdict.read_latest_ai2_verdict), served ONLY when itsgenerated_atfalls on the CURRENT ET trade date. A verdict left behind by an earlier day (e.g. a window whenENABLE_AI1_ANALYSISwas on) must NEVER be served as todayβs read. Stampedsource: "persisted". - Live-compute fallback. Otherwise the verdict is computed on demand
from
build_signal_pack+ the trailing (today-excluded)vol_nowcast_zseries, withai1_read=Noneβ a documented first-class case:build_verdictfalls back deterministically forwhats_happening/likelihood/days_in_regime. Stampedsource: "computed". This path deliberately does NOT write toai2_verdicts: the graded series must contain only verdicts the scheduler actually served on its own cadence β a read-triggered row would poison the grading substrate with request-timing artifacts (a popular page would manufacture rows; a quiet one wouldnβt).
Every served string is passed through the vendor-anonymity scrub
(anonymize_text) β this is the first PUBLIC surface carrying verdict
prose.
NEVER 500, NEVER 404 (DOCTRINE P0). Any failure β a pack build that raises,
an unavailable DB, anything β returns HTTP 200 with verdict: null and a
plain reason, logged via logger.exception. The page degrades to an
honest βunavailableβ rather than a broken render.
Response shape::
{schema_version, as_of, source: "persisted"|"computed"|null,
verdict: <object>|null, reason: <string>|null}
Curl
curl -s https://bigclawd.com/api/v1/ai2/verdict