Commit Graph

5 Commits

Author SHA1 Message Date
jaxperro 052eda04d1 research: Study C FREEZE — maker inventory-lean pre-registration (follow arm verdict; fade failed its concentration gate)
score_lean wired into the nightly (walk-forward as-of screening, frozen
trigger, chain truth); params/study_lean.json frozen; forward window =
ledger rows dated after this commit. Fade $2k+ arm excluded by the
pre-declared gate (top event 32%, tail net-negative) — tracked
report-only. Follow $150-500: robust across 869 events (top 14%).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 15:49:50 -04:00
jaxperro e6730ef579 research: data-moat hardening — durable settle logs, offline-proof forward backfill, nightly market-metadata snapshot
- surgebot/oraclebot: settles now append-only to /data/*_settles.jsonl
  (SETTLED_TRIM rotation can never lose a settle; graders pull them)
- forward.py: backfills any tape-covered day missing from the ledger —
  a Mac offline gap > RESCORE_DAYS no longer leaves verdict-evidence holes
- meta_snap.py: nightly gzipped snapshot of all active markets (12k, 2MB/d,
  local-only) — end dates make tau knowable at trigger for every tape
  trigger; token->outcome maps kill the label-gap scorer artifact class
- .gitignore: pulled raw streams + meta stay local (re-fetchable, lean repo)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-23 00:43:12 -04:00
jaxperro d34a4c5ac8 forward: chain-overlay payouts — pendings were hiding the losses
THE SCORER BUG (found 2026-07-22 by the surge paper book divergence):
tape-resolution timing is win-biased. When our side LOSES, the winning
sibling keeps trading at 99c until close, the sibling-veto keeps the
market 'alive', and the loss sits in the ignored pending bucket — while
wins tape-resolve within hours and score. Jul-21 audit: tape-resolved
fills 81% hit (+$46/fill); chain-resolving the 329 'pending' fills: 26%
hit, -$49.61/fill; combined truth 53% ≈ the paper book's 57.5%. The
paper harness was the honest instrument; every ledger arm was flattered.

payouts_for(): tape proxy first, CTF chain truth for the remainder
(payouts.py cache — immutable, so nightly incremental cost is small);
refunds (0.5) now booked as scratches. Applied to flow, controls, and
oracle (sub5c inherits via score_flow). Ledger recompute follows; #16
verdict evaluates corrected numbers only.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-22 16:56:13 -04:00
jaxperro 2fab0424d0 research: sub-5c surge longshots as an EXPLORATORY forward arm
Same frozen surge signal, band opened to 0.5-5c, all niches, F=$300 —
tracked nightly as flow_sub5c_EXPLORATORY (NOT pre-registered). First
tape scan: they live in in-play sports totals/blowout tails + esports
maps; ~70% crater; 31 resolved fills, 4 wins, EV sign owned entirely by
two lottery hits; sim depth-blind at longshot share counts. Accumulate
to ~100+ resolved fills before any pre-registration or kill.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-21 14:48:26 -04:00
jaxperro 2f4f2ccbbe research silo: edge factory — calibrated sim, Study A/B, forward ledger (#2, #16, #17)
research/ is a hard silo (README rules): read-only tape, no bot imports,
own launchd (com.jaxperro.research-nightly 09:15, after daily ingest).

- tape.py: proxy-resolution (the 742/742-validated method), niche + crypto
  strike/expiry/sprint parsers, tick loaders
- sim.py: FAK execution replayer; hold_s=3 fitted on 29 real labeled live
  attempts (79% fill/miss classification), price noise 2-4c, measured
  OPTIMISM BIAS -2c/fill carried into every verdict threshold
- requote.py: crater refill timing per niche (crypto 94% <4s, esports 83%
  <10s, sports needs ~25s, geo/politics minutes) -> params/requote_timing.json
- study_flow.py + robustness: in-play surge momentum. Identity NULL result:
  10 pooled controls +23.85/fill == informed +23.68 -> hypothesis revised at
  freeze, surge-EV primary, identity secondary (#16)
- study_oracle.py: oracle digital fair value. 86% craters, winner's-curse
  inversion at big edges, nothing frozen (no cell at 30 fills) (#17)
- forward.py + nightly.sh: re-scores frozen studies on last 3 tape days,
  appends forward_ledger.jsonl; verdicts ONLY from post-freeze rows

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-20 17:34:22 -04:00