Commit Graph

204 Commits

Author SHA1 Message Date
jaxperro d4596c7a28 sharps: 30-day activity floor — >=50 trusted conviction bets in the last 30d
The list is for wallets a copier gets real flow from; dormant or
low-frequency edges (however good) don't belong on it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 18:50:04 -04:00
jaxperro 8c07343735 discord: retire per-trade pings, add daily sharp digest; trust: v2 self-certify + invalidated-wallet fallback
* per-trade Discord pings removed everywhere: copybot placement/settle/startup
  alerts silenced (engine.webhook forced off), webhook_receiver.py archived,
  Procfile removed. The ONLY Discord output is now live/discord_daily.py at the
  end of the daily pipeline: one embed listing every watch_sharps wallet with a
  Polymarket profile link + 30D conviction win% / record / P&L.

* trust.py fixes found on the first scheduled run (sharp list collapsed 25->7):
  - Polymarket rewrites endDate after resolution, so freshly re-pulled wallets'
    corrected res_t stopped matching the stale cross-wallet consensus
    (374/454 of iohihoo's rows wrongly distrusted). v2 rows with resolved=TRUE
    are now self-certifying (resolved=TRUE implies endDate-based res_t observed
    post-end) — consensus only gates legacy rows.
  - daily.sh invalidates watchlist wallets by DELETING their pulled row; a
    transiently failed re-pull then dropped the wallet's entire history from
    the trusted set (the 0x73afc816 whale vanished). Legacy rows of wallets
    missing from pulled now fall back to trusting markets resolved >=14d ago.
  Re-run: 85 conviction wallets, 34 copy-positive sharps — whale/iohihoo/
  Stavenson/LSB1/Kruto all recovered.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 18:31:30 -04:00
copybot[bot] 24b64ba4c1 copybot: live paper feed [skip ci] 2026-07-04 21:43:34 +00:00
copybot[bot] b997f498d1 copybot: live paper feed [skip ci] 2026-07-04 19:27:09 +00:00
copybot[bot] b7751aacb9 copybot: live paper feed [skip ci] 2026-07-04 19:02:15 +00:00
copybot[bot] 579065db66 copybot: live paper feed [skip ci] 2026-07-04 17:36:59 +00:00
copybot[bot] 2da45e83d6 copybot: live paper feed [skip ci] 2026-07-04 17:20:29 +00:00
copybot[bot] 7cd820d689 copybot: live paper feed [skip ci] 2026-07-04 17:01:59 +00:00
copybot[bot] 9a6d56bef5 copybot: live paper feed [skip ci] 2026-07-04 14:48:27 +00:00
jaxperro 0b83a5c81e live: daily refresh — skilled + sharp wallets [skip ci] 2026-07-04 10:47:44 -04:00
copybot[bot] fcb4a764b0 copybot: live paper feed [skip ci] 2026-07-04 14:08:30 +00:00
jaxperro 1d754353c2 selection: trusted-row layer + holder-gate fix — the holder blind spot
Two data bugs were hiding the best copy targets (FINDINGS 'The holder
blind spot'):

* live/trust.py (new): only score rows whose res_t matches the market's
  consensus resolution time across >=2 wallets, pulled after resolution,
  resolved != False. Kills the res_t=ts fallback poison that let scalpers
  masquerade as 99%-win holders (ArbTraderRookie's rows were 100% this).
* conviction_scan.py: trusted rows only; p80 conviction cutoff from the
  train window only (look-ahead leak); new gates z_all>2 (whole-book z,
  ~doubles pooled forward copy-ROI) and median conviction stake >=$50
  (dust filter). 55 wallets selected, forward 30/38 profitable, +21.4%
  pooled (was 284 selected, +16.0%).
* validate_timing.py: the held-edge gates now read the trailing-90d
  trusted conviction record via trust.conviction_record instead of the
  replay's held leg, which is structurally ~all-unresolved for week-lead
  holders (whale 0x73afc816 showed 'held 0-0, 21 unresolved' and was
  rejected at 100% fwd win). 25 copy-positive holders now, including
  Stavenson (51-0), the whale (112-4) and iohihoo (98-10).
* cache.py: query() helper so trust.py shares the single in-process
  connection instead of fighting the single-writer lock.
* README: gotcha 8 (fake res_t/won) + candidate next data sources
  (Goldsky pipelines, PolymarketData order books, Pinnacle CLV,
  Polysights); FINDINGS: dated section correcting the iohihoo/ArbTrader
  scalper-trap verdicts as winner=False-bug artifacts.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 09:08:35 -04:00
copybot[bot] 4b05db4f4c copybot: live paper feed [skip ci] 2026-07-04 11:39:22 +00:00
copybot[bot] 683d61bafe copybot: live paper feed [skip ci] 2026-07-04 07:03:38 +00:00
jaxperro a1ce5e5663 copybot: lower Stavenson conviction floor to $1k (p80 $3.9k fired too rarely)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 03:02:55 -04:00
copybot[bot] d8b8010332 copybot: live paper feed [skip ci] 2026-07-04 06:59:37 +00:00
jaxperro d73c175e53 copybot: add Stavenson, 0x4bFb-whale, iohihoo to the July paper test
The three trusted-record holders from the May->June re-validation (51-0,
112-4, 98-10 trailing conviction records; see FINDINGS 'holder blind spot').
Existing five wallets unchanged; p80 floors from the cache (Stavenson 3922.17,
whale 940.14, iohihoo 55.63).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-04 02:58:04 -04:00
copybot[bot] ac11c40ad2 copybot: live paper feed [skip ci] 2026-07-04 02:56:29 +00:00
copybot[bot] b7a1f2e9b2 copybot: live paper feed [skip ci] 2026-07-04 02:50:11 +00:00
jaxperro 6c3c966418 live: daily refresh — skilled + sharp wallets [skip ci] 2026-07-03 21:40:57 -04:00
copybot[bot] 0824bc0c90 copybot: live paper feed [skip ci] 2026-07-04 01:09:07 +00:00
copybot[bot] 22850ec16c copybot: live paper feed [skip ci] 2026-07-04 01:07:00 +00:00
jaxperro 6fa1ba94bf sizing discipline binds per market: adds capped at the current stake size
Proportional add-mirroring was unbounded after max_position_usd was lifted -
fortuneking doubling into his own bet took one game to $90 on a $42-stake
book (2.15 stakes). Adds now only top a position up to stake_usd(); the
backtest was already one-market-one-stake, so bot and model agree again.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 21:06:25 -04:00
copybot[bot] d11dcf11bd copybot: live paper feed [skip ci] 2026-07-04 00:18:00 +00:00
copybot[bot] 304b254458 copybot: live paper feed [skip ci] 2026-07-03 22:14:53 +00:00
copybot[bot] 300b7cf85b copybot: live paper feed [skip ci] 2026-07-03 22:06:39 +00:00
copybot[bot] 0521ee87b3 copybot: live paper feed [skip ci] 2026-07-03 21:21:33 +00:00
copybot[bot] 530b1b8c74 copybot: live paper feed [skip ci] 2026-07-03 18:13:02 +00:00
copybot[bot] 6ef06f15d5 copybot: live paper feed [skip ci] 2026-07-03 05:18:39 +00:00
copybot[bot] 167b6088b5 copybot: live paper feed [skip ci] 2026-07-03 04:49:59 +00:00
jaxperro 7e9ccdf5c8 profit ratchet: stakes pin at $250, surplus swept to a banked reserve
Once working equity exceeds stake_cap/pct ($6,250 at 4%), surplus cash sweeps
to state["reserve"]/portfolio reserve - banked, never bet, immune to drawdown
- keeping stakes at the $250 level where marketable fills sit inside typical
book depth. Feed/summary gain reserve; realized = cash+exposure+reserve-bank.
June backfill: equity $15,684 (+1468%), $9,185 banked, next stake pinned $250.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:49:22 -04:00
copybot[bot] beb7e9d22c copybot: live paper feed [skip ci] 2026-07-03 04:41:57 +00:00
jaxperro 132793a166 follow imwalkinghere (5th wallet): top fee-adjusted sharp
+$2,454 copy P&L, 72.4% conviction win (144-55), $257 avg bet, 2.1h median
lead. Added to bot configs (p80 floor $115.27) + backtest set. June backfill
with him: +2677% (in-sample selection bias + compounding, next stake $1,070 -
treat as a ceiling; depth-aware fills become necessary at these clip sizes).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:41:25 -04:00
jaxperro 87d13385dc docs: current realism rules + maintainer gotchas section
Realism section updated (0.95 entry cap, asymmetric guard, measured lag);
new gotchas list leads with the CLOB winner=False semantics that caused the
2026-07-02 settle bug.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-03 00:08:34 -04:00
jaxperro b9ed4b1d2b portfolio: per-wallet win/loss records in the feed's allocation rows
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:48:54 -04:00
copybot[bot] 117092b95f copybot: live paper feed [skip ci] 2026-07-03 03:36:37 +00:00
jaxperro b6db6f3833 asymmetric price guard (better prices never blocked) + 0.95 entry cap
- guard: by rule, a price BELOW the sharp's fill always passes (strictly
  better odds; the symmetric guard once skipped a 0.70->0.51 improvement that
  won +$36). Only adverse drift is gated by price_guard_pct.
- entry cap: June sweep (0.75-1.0) peaked at max_entry 0.95 - >95c favorites
  added ~23 wins yet lowered final equity (slip+fee eat 1-3% payouts, capital
  compounds better elsewhere); deep caps cut real winners. Set in all configs
  + portfolio MAX_ENTRY (env-overridable for sweeps; PORTFOLIO_OUT added).
  Canonical June backfill: +716%, 219W/52L, $374 fees.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:35:51 -04:00
copybot[bot] 099c2cf737 copybot: live paper feed [skip ci] 2026-07-03 03:28:23 +00:00
jaxperro 46a3557abf repair missed-bet ledger: same winner=False bug hit the hypothetical settles
All 7 missed entries were insta-settled as losses under the pre-fix semantics.
Chain-verified reality: 4 won, 2 lost, 1 still unresolved (reopened). Missed
P&L -249.17 -> -18.36.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:27:53 -04:00
copybot[bot] 37f63e50d0 copybot: live paper feed [skip ci] 2026-07-03 03:16:46 +00:00
jaxperro 6e09e7bb71 CRITICAL settle fix: CLOB winner=False means unresolved, not lost
The CLOB reports winner=False on EVERY token of an unresolved market; only a
True winner anywhere means resolved. resolution_price treated False as "lost",
so the 60s poller settled live in-play positions as instant losses 1-3 min
after entry (June's ~2h Actions cadence masked it - markets had genuinely
resolved by the next check). Same semantics fixed in _market's resolved-cache
gate and validate_timing._clob_winner (unresolved held bets were counted as
losses, biasing copy_pnl selection downward).

Also: _record_lag now AGGREGATES fills per token (ADD used to overwrite the
display record, showing one fill's cost against the whole position's P&L -
the Cost $20.84 vs P&L -$57.30 confusion).

State repaired: the four July bets all actually WON on-chain (verified by
token winner flags) - settled correctly, +$225.40 proceeds restored, book
$1,045.19 (+45.19 realized, 4W/0L).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 23:15:27 -04:00
jaxperro 2c59c2994b live: daily refresh — skilled + sharp wallets [skip ci] 2026-07-02 23:12:37 -04:00
copybot[bot] 6f9131554e copybot: live paper feed [skip ci] 2026-07-03 03:11:12 +00:00
copybot[bot] d51e1a67c2 copybot: live paper feed [skip ci] 2026-07-03 01:06:02 +00:00
copybot[bot] 7bb4a8dfa4 copybot: live paper feed [skip ci] 2026-07-03 01:03:59 +00:00
copybot[bot] a1a0bd0a94 copybot: live paper feed [skip ci] 2026-07-03 00:54:50 +00:00
copybot[bot] 06945e1ce9 copybot: live paper feed [skip ci] 2026-07-03 00:52:47 +00:00
copybot[bot] e914c6c91e copybot: live paper feed [skip ci] 2026-07-03 00:42:13 +00:00
copybot[bot] c236b1831e copybot: live paper feed [skip ci] 2026-07-03 00:40:08 +00:00
copybot[bot] 9a02780feb copybot: live paper feed [skip ci] 2026-07-03 00:19:18 +00:00