
asyncio.gather. A quorum gate requires at least 5 of 7 verdicts or the run aborts. Per-agent retry with exponential backoff handles transient failures. The parser is failure-tolerant: a single agent failing doesn't kill the council.asyncio.gather, then a synthesis pass produces the briefing narrative.rapidfuzz.fuzz.token_set_ratio with a tunable threshold. Every failure path returns None and the pipeline continues without structured data. When structured data is available, a cross-source contamination tagger uses it as an authoritative anchor: if PandaScore says a match is scheduled or running, regex-detected past-tense scoreline patterns in web results get flagged as temporal contamination.[0.09-0.50, 0.50-0.60, 0.60-0.70, 0.70-0.80, 0.80-0.95] with shrinkage (wins + K * global_wr) / (n + K), K=5. Dormant below 20 samples.f* = (bp - q) / b with banded win-rate inputs (not scalar), then applies a half-Kelly multiplier. Sizing and gating stay aligned on the same banded threshold. Half-Kelly is non-negotiable: "Dropping the safety scaler to chase variance is how small accounts die fast."
[0.80, 0.95) band is best-EV (realized 0.938, +9.9pp vs mean price). The [0.50, 0.60) band is point-estimate negative-EV but at n=8, the CI is too wide to conclude anything.history, verdicts, clv_by_row) mean any new question is a SQL query, not a Python script. pqi query "SELECT ..." from the CLI.pqi history equity tracks cumulative performance over time.
read_json_auto('history.jsonl') natively. Half a day of wire-up, zero ops cost. Postgres would have been a week plus ongoing ops for nothing the project needed.py-clob-client (Polymarket trading SDK) is declared in dependencies but not imported anywhere. Tier A auto-BUY is gated on Phase 1's acceptance test. Tier B continuous listener is gated on a max-favorable-excursion study that hasn't run. Shipping auto-execution before the signal validates is named explicitly in the scaling assessment as "the fastest path from advisor to auto-loss generator."chat() function in llm/client.py. Every other module is forbidden from importing anthropic or httpx for LLM calls. SDK auto-retry disabled; the module owns the retry policy (exponential backoff over 5xx including 529 OverloadedError, 429, connection errors, timeouts). Prompt caching uses explicit cache_control: ephemeral blocks with debug logging of cache-read token counts.Posted Jul 2, 2026
Solo Python system that identifies mispriced odds in Polymarket prediction markets using a 7-agent LLM council. Built in 2 months: ~11,400 LOC, 47 sessions, full measurement infrastructure. Advisor-only by design.