30-day backtest replay of all 11 proving wallets: Bikes leads at +$7,804
(slow geopolitics/novelty markets — the most copyable flow profile in the
set: 12 conviction bets >$100 in his last 60 trades, no in-play delay, no
5-min races). AIcAIc out: weakest incumbent forward (+$32 paper, −$9.5
live, only negative wallet) and his sell-timing class is the one most
flattered by zero-lag backtest fills — benched in backtest.json to re-prove.
badaf keeps his seat: +105% ROI on invested and 6-0 forward. LSB1 (+$55)
and imwalkinghere (uncopyable) stay out — both validated by this replay.
42021 cut from the bench (+$15 dud). Bench now: Vahan88, EdwardIN, LSB1,
imwalkinghere, AIcAIc.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
From the automated-writer clobber audit (3-agent workflow):
- sync_floors now ACTUALLY mirrors floor_pin into backtest.json (the comment
claimed it; the code never did — so a paper pin diverged from the backtest's
dynamic p80, defeating calibration). Kruto 80 now consistent across all 3.
- sync_floors warns loudly when about to revert an UNPINNED floor that looks
hand-edited (>5 and >15%) — floor_pin is the only protected key, so a direct
edit used to vanish silently at 08:00.
- validate_timing logs the sharps add/drop delta and documents watch_sharps.json
as generated-only (format kept a plain list — dashboard/discord read it so).
- daily.sh warns if copybot.paper.json vs backtest.json class_pct desync.
Audit verdict otherwise CLEAN: sync_floors is the only pipeline step that
mutates a manual-knob file, and it round-trips the whole JSON touching only
floor — all other knobs (caps, guard, depth_gate, follow set, band) survive.
config.live.example.json is untouched by every automated writer (safe by
neglect). No second floor_pin-class bug exists.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The 08:00 daily sync_floors.py unconditionally overwrote every paper-book
floor with the trusted p80 — silently reverting Kruto 80→125.61 the morning
after the deliberate lowering, so the paper book stopped matching the live
book (which reads a different config) and the 'catch more Kruto flow'
experiment ran on real money only. sync_floors now honors a per-wallet
floor_pin; Kruto pinned to 80 in paper + backtest (live already 80 via
per_wallet_min_usd). All three books gate Kruto at 80 again.
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>