mirror of
https://github.com/jaxperro/winning-wallet-finder.git
synced 2026-07-27 15:57:47 +00:00
valuebot post-mortem: killed on criterion — 1W/993L (0.075x), sub-2¢ edge refuted in the current era; app destroyed
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,11 @@
|
|||||||
# Session handoff — 2026-07-19 (rev 15: tape+bench+gate; rev 14: +$44 bankroll, exact paper-parity config; rev 13: FAK parity; rev 12: chain-seed)
|
# Session handoff — 2026-07-19 (rev 15: tape+bench+gate; rev 14: +$44 bankroll, exact paper-parity config; rev 13: FAK parity; rev 12: chain-seed)
|
||||||
|
|
||||||
|
## 2026-07-19: VALUEBOT KILLED (user call, pre-registered criterion met)
|
||||||
|
994 resolved: 1W/993L, 0.075x — historical 1.24-1.28x edge refuted in the
|
||||||
|
current era (expected ~12 wins, got 1). Post-mortem in value/PLAN.md; Fly
|
||||||
|
app destroyed; feed/dashboard kept as record. Reusable takeaways: the honest
|
||||||
|
fill model + silo pattern; next hypothesis should come from the RTDS tape.
|
||||||
|
|
||||||
## 2026-07-19 (rev 16): audit hardening shipped (top-10 items 1-9)
|
## 2026-07-19 (rev 16): audit hardening shipped (top-10 items 1-9)
|
||||||
Deep-audit fixes, all deployed same day: (1) the book is now fully
|
Deep-audit fixes, all deployed same day: (1) the book is now fully
|
||||||
serialized — resolve_pendings/retry_stuck_exits/write_feed take bot.lock,
|
serialized — resolve_pendings/retry_stuck_exits/write_feed take bot.lock,
|
||||||
|
|||||||
@@ -26,7 +26,7 @@ Three deployed pieces + one static dashboard:
|
|||||||
| **daily pipeline** (`live/daily.sh`) | this Mac, launchd **08:00** (a `pmset repeat wakeorpoweron` RTC wake at **07:58** makes this run on time even from sleep — set 2026-07-08, undo with `sudo pmset repeat cancel`; job wrapped in `caffeinate -i` so mid-run idle-sleep can't kill it. Heads-up: the wake fires even lid-closed-in-a-bag — cancel it if the Mac travels) | refresh the bet cache → 5-gate skill scan → fee-aware sharp selection → conviction floors → backtest book → publish JSON feeds to GitHub |
|
| **daily pipeline** (`live/daily.sh`) | this Mac, launchd **08:00** (a `pmset repeat wakeorpoweron` RTC wake at **07:58** makes this run on time even from sleep — set 2026-07-08, undo with `sudo pmset repeat cancel`; job wrapped in `caffeinate -i` so mid-run idle-sleep can't kill it. Heads-up: the wake fires even lid-closed-in-a-bag — cancel it if the Mac travels) | refresh the bet cache → 5-gate skill scan → fee-aware sharp selection → conviction floors → backtest book → publish JSON feeds to GitHub |
|
||||||
| **copybot worker** (`copybot.py` via `host/start.sh`) | **Fly.io app `wwf-copybot`, region `arn` (Stockholm), 24/7** — migrated off Railway 2026-07-06: Railway ran it in a US region, which Polymarket's IP geoblock would 403 the moment orders got real; Stockholm is unrestricted AND ~25ms from the CLOB's eu-west-2 primaries. Every boot self-checks the geo-gate (`host/geocheck.py`) and verifies the clone against `git ls-remote` (stale-replica guard) | **T0 = the RTDS trade stream** (gotcha 18): every platform trade, wallet-attributed, **~1s detection** (measured p50 0.8s over 22k msgs), silent-stale guard force-reconnects a quiet socket. Backstops: the Alchemy address-activity webhook (~3s, `POST /alchemy`, signature-verified — **T0b chain seed** 2026-07-14: its tx hashes decode straight from the receipt's OrderFilled logs when the data-api indexer lags, so RTDS-silent markets still copy at push speed), a 5-min backstop poll, and the reconcile janitor. Per-wallet **trade cursor** paginates the activity feed so clip bursts can't scroll past a fetch (H3). 60s heartbeat settles/publishes; paper-copies with real fees/lag/slippage AND live-FAK thin-book reality (**paper FAK parity** 2026-07-16: a quote with no ask inside the protected band books a MISS, not a fill — keeps the live-vs-paper per-signal ratio honest; `live/edge.py` turns it into the daily bankroll-decision verdict in `history/edge.csv` + the Discord digest footer); commits its book back to the repo |
|
| **copybot worker** (`copybot.py` via `host/start.sh`) | **Fly.io app `wwf-copybot`, region `arn` (Stockholm), 24/7** — migrated off Railway 2026-07-06: Railway ran it in a US region, which Polymarket's IP geoblock would 403 the moment orders got real; Stockholm is unrestricted AND ~25ms from the CLOB's eu-west-2 primaries. Every boot self-checks the geo-gate (`host/geocheck.py`) and verifies the clone against `git ls-remote` (stale-replica guard) | **T0 = the RTDS trade stream** (gotcha 18): every platform trade, wallet-attributed, **~1s detection** (measured p50 0.8s over 22k msgs), silent-stale guard force-reconnects a quiet socket. Backstops: the Alchemy address-activity webhook (~3s, `POST /alchemy`, signature-verified — **T0b chain seed** 2026-07-14: its tx hashes decode straight from the receipt's OrderFilled logs when the data-api indexer lags, so RTDS-silent markets still copy at push speed), a 5-min backstop poll, and the reconcile janitor. Per-wallet **trade cursor** paginates the activity feed so clip bursts can't scroll past a fetch (H3). 60s heartbeat settles/publishes; paper-copies with real fees/lag/slippage AND live-FAK thin-book reality (**paper FAK parity** 2026-07-16: a quote with no ask inside the protected band books a MISS, not a fill — keeps the live-vs-paper per-signal ratio honest; `live/edge.py` turns it into the daily bankroll-decision verdict in `history/edge.csv` + the Discord digest footer); commits its book back to the repo |
|
||||||
| **REAL-MONEY worker** (same code, `COPYBOT_ROLE=live`) | **Fly.io app `wwf-copybot-live`, `arn`, 24/7, ARMED 2026-07-10** — separate app so the two books never share a process, state file, or failure mode. Trades the signer's **Deposit Wallet** `0x455e…45a1` (pUSD collateral) via the unified SDK (`polymarket-client`) | Same T0 RTDS detection (`RTDS_DETECT=1`) + Alchemy/poll backstops; **own-fill push** via the CLOB user channel (`userws` in the heartbeat) makes in-play pending holds adopt the moment they match — ws events only *trigger* the resolver, `get_order` stays the arbiter (gotcha 17). Paper-parity sizing (4% of equity, $1 venue floor, no price floor, hard caps retired — the **depth gate** is the scaling rail: skip spread>0.08 or ask5c<$50, stake ≤10% of 5c depth). Every placement/exit/settle pings Discord. Disarm: `flyctl secrets unset LIVE_CONFIRM -a wwf-copybot-live` |
|
| **REAL-MONEY worker** (same code, `COPYBOT_ROLE=live`) | **Fly.io app `wwf-copybot-live`, `arn`, 24/7, ARMED 2026-07-10** — separate app so the two books never share a process, state file, or failure mode. Trades the signer's **Deposit Wallet** `0x455e…45a1` (pUSD collateral) via the unified SDK (`polymarket-client`) | Same T0 RTDS detection (`RTDS_DETECT=1`) + Alchemy/poll backstops; **own-fill push** via the CLOB user channel (`userws` in the heartbeat) makes in-play pending holds adopt the moment they match — ws events only *trigger* the resolver, `get_order` stays the arbiter (gotcha 17). Paper-parity sizing (4% of equity, $1 venue floor, no price floor, hard caps retired — the **depth gate** is the scaling rail: skip spread>0.08 or ask5c<$50, stake ≤10% of 5c depth). Every placement/exit/settle pings Discord. Disarm: `flyctl secrets unset LIVE_CONFIRM -a wwf-copybot-live` |
|
||||||
| **VALUE bot** (separate experiment, [`value/README.md`](value/README.md)) | **Fly.io app `wwf-valuebot`, `arn`, 24/7, PAPER** — a hard SILO: own code (`value/valuebot.py`, zero copybot imports), own state/feed, own image, no shared wallet ever | Systematically buys sub-2¢ contracts (the calibration study's one underpriced bucket — [`value/PLAN.md`](value/PLAN.md)); honest FAK fill model, chain-truth settles, $1 tickets, event cap 1. Verdict at ~2k resolved tickets vs a ~1.05% break-even hit rate |
|
| **VALUE bot** (CLOSED 2026-07-19 — [`value/README.md`](value/README.md)) | ~~Fly app `wwf-valuebot`~~ destroyed after the paper verdict: 994 tickets, 1W/993L, 0.075x — today's sub-2¢ asks are fully informed; the 2025-era calibration edge is gone — a hard SILO: own code (`value/valuebot.py`, zero copybot imports), own state/feed, own image, no shared wallet ever | Systematically buys sub-2¢ contracts (the calibration study's one underpriced bucket — [`value/PLAN.md`](value/PLAN.md)); honest FAK fill model, chain-truth settles, $1 tickets, event cap 1. Verdict at ~2k resolved tickets vs a ~1.05% break-even hit rate |
|
||||||
| **RTDS tape recorder** ([`recorder/`](recorder/)) | **Fly.io app `wwf-recorder`, `arn`, 24/7** — third silo: no repo clone (code in image), no keys, 10GB volume | Records EVERY platform trade (~2-3k/min peak) to hour-rotated segments; nightly `recorder/ingest.py` (daily.sh) folds them into `live/rtds.duckdb` — the proprietary tick archive feeding flow research (4.9M+ trades and counting) |
|
| **RTDS tape recorder** ([`recorder/`](recorder/)) | **Fly.io app `wwf-recorder`, `arn`, 24/7** — third silo: no repo clone (code in image), no keys, 10GB volume | Records EVERY platform trade (~2-3k/min peak) to hour-rotated segments; nightly `recorder/ingest.py` (daily.sh) folds them into `live/rtds.duckdb` — the proprietary tick archive feeding flow research (4.9M+ trades and counting) |
|
||||||
| **Discord digest** (`live/discord_daily.py`) | end of the daily pipeline | one message/day: the sharp list with profile links + 30-day conviction stats (per-trade pings retired 2026-07-04 for PAPER; the LIVE book pings every real placement/exit/settle) |
|
| **Discord digest** (`live/discord_daily.py`) | end of the daily pipeline | one message/day: the sharp list with profile links + 30-day conviction stats (per-trade pings retired 2026-07-04 for PAPER; the LIVE book pings every real placement/exit/settle) |
|
||||||
| **dashboard** | [jaxperro.com/trading](https://jaxperro.com/trading) + [jaxperro.com/live](https://jaxperro.com/live) (static, in the `jaxperro` repo) | `/trading` renders the paper book, backtest book and sharp table; `/live` is the REAL MONEY page (reads `live/copybot_live_real.json` — live since 2026-07-10). Both pages share `trading/copybot-section.js` — one renderer, no drift |
|
| **dashboard** | [jaxperro.com/trading](https://jaxperro.com/trading) + [jaxperro.com/live](https://jaxperro.com/live) (static, in the `jaxperro` repo) | `/trading` renders the paper book, backtest book and sharp table; `/live` is the REAL MONEY page (reads `live/copybot_live_real.json` — live since 2026-07-10). Both pages share `trading/copybot-section.js` — one renderer, no drift |
|
||||||
|
|||||||
@@ -1,3 +1,19 @@
|
|||||||
|
# ── POST-MORTEM (2026-07-19): EXPERIMENT CLOSED — HYPOTHESIS REFUTED ──
|
||||||
|
Killed by the pre-registered criterion, decisively: 994 resolved tickets,
|
||||||
|
**1W / 993L, 0.075x realized multiple** (paper bank $1,000 spent; 32 tickets
|
||||||
|
/ ~$32 still open at shutdown — even if ALL win, the multiple caps ~0.1x).
|
||||||
|
The v0 sub-2¢ mix AND the v0.1 1-2c band both failed live-paper despite the
|
||||||
|
cache showing 1.24-1.28x historically. Expected wins at the historical rate:
|
||||||
|
~12; observed: 1 (p ≈ 0 — not variance).
|
||||||
|
|
||||||
|
VERDICT: today's sub-2¢ asks are near-perfectly informed. The 2025-era
|
||||||
|
calibration edge no longer exists in the current market — the visible cheap
|
||||||
|
tail is pure adverse selection now. The honest FAK fill model + $1 stakes
|
||||||
|
made this a ~$1,000-paper-dollar lesson instead of a real one; the fill
|
||||||
|
model, chain settles, and silo pattern all worked exactly as designed and
|
||||||
|
are reusable for the next hypothesis (tape-derived flow signals).
|
||||||
|
Fly app destroyed 2026-07-19; feed/state/dashboard remain as the record.
|
||||||
|
|
||||||
# VALUE — undervalued-market bot (silo'd from the copy trader)
|
# VALUE — undervalued-market bot (silo'd from the copy trader)
|
||||||
|
|
||||||
Status: RESEARCH + PLAN (2026-07-17). No bot code yet. USER directives:
|
Status: RESEARCH + PLAN (2026-07-17). No bot code yet. USER directives:
|
||||||
|
|||||||
@@ -1,5 +1,7 @@
|
|||||||
# VALUE — the undervalued-market paper bot
|
# VALUE — the undervalued-market paper bot
|
||||||
|
|
||||||
|
**STATUS: CLOSED 2026-07-19 — hypothesis refuted (1W/993L, 0.075x; see PLAN.md post-mortem). App destroyed; files kept as the record.**
|
||||||
|
|
||||||
A **silo'd** experiment: can systematically buying sub-2¢ Polymarket contracts
|
A **silo'd** experiment: can systematically buying sub-2¢ Polymarket contracts
|
||||||
beat their price? Research says yes on paper (~1.24x gross); this bot exists
|
beat their price? Research says yes on paper (~1.24x gross); this bot exists
|
||||||
to find out if the fills are real. It shares **no code path, state, app, or
|
to find out if the fills are real. It shares **no code path, state, app, or
|
||||||
|
|||||||
Reference in New Issue
Block a user