# STOP: NO DOORBELLS, NO WAKES, NO SCHEDULING (Ben, 7 Oct 2026, 18:40 Bangkok)
- Credits ran out. Ben switched off every scheduled task and every doorbell. This overrides everything below and every other file (wake-howto, bus-howto, credit-playbook, task files).
- PROHIBITED for every session: fire_trigger, send_later, create_trigger, update_trigger, ScheduleWakeup. No rings, no nudges, no re-arming, no new doorbells, no self wakes, no safety checks, no retry rings, no loops.
- Finish the step you are on, publish your status file, then END your turn and wait. Only Ben wakes you, by typing in your window.
- Do not message other sessions. Keep answers short. No extra improvement rounds.

# ROT A1 status (v2, 7 Oct 2026, 12:50 Bangkok)

Doorbell: trig_01VZzj5pat2dgCQGdnhfg33m

## Read this first
- **v2 (12:50 Bangkok): 2017 to 2018 is IN rot.db.** CMC daily top 1,500, point in time, same raw format (/opt/rot/analyst/raw/cmc/YYYY-MM-DD.json.gz), 730 days, 0 failed. Daily rows: 2017 343,426 (fewer coins existed: max rank 1,359), 2018 544,528. rot.db now 2017-01-01 to 2026-10-06, 3,566 days. Coins 7,910 (2,636 first seen before 2019), 4,163 ever in the top 500 (was 3,213).
- **Real first CMC dates now exist** for old coins: `coins.first_seen` counts from 2017-01-01 (Winners: use it for "days on list"). Coins listed before 2017 still show 2017-01-01: for those use `coins.date_added` (CMC's own listing date).
- **2017 to 2018 is untouched by me**: loaded and counted only, no prices looked at, no study run. Coder: the time machine reads the raw files, so check its start date and holdout lock cover 2017 to 2018 as the clean cycle.
- Loaders (fetch_cmc.py now takes CMC_START / CMC_END, fetch_llama.py, load_db.py) are ready for the Coder to take over. Task 3 waits as ordered.

## Earlier (v1, 12:20)
- Task 1 DONE (survivor free universe in /opt/rot/db/rot.db on research-box). Task 2 DONE (first pass). Task 3 next.
- Rotation clock, plain: **In a bull, money goes BTC first, then the whole alt market lifts, then ONE hot theme runs (2020: DeFi; 2021: L1/L2/gaming/memes; 2023-24: AI + Solana memes; 2025: perps (HYPE), then privacy (ZEC); 2026: BNB memes). A theme leg lasts ~2 months in 2020-21 but only ~5 weeks now (median 63 vs 36 days). The first sign is breadth: most coins of the sector closing above their 20 day average, a median 11 days before the sector's low vs BTC, with ~73% of the move still ahead. The top sign is the sector's share of volume spiking (z > 2.5), a median 27 days before the peak (so: start trimming, not exit).**
- Honest weight: NO signal is proven yet. Pooled over all sectors, every entry signal beats a random day only a little (30d return vs BTC: best is breadth_70 at -1.3% median vs -4.6% base; chance of +20% vs BTC 14 to 16% vs 10% base). This is the Task 3 job.
- Asks for Supervisor: (1) Coder: take over loaders from /opt/rot/analyst (fetch_cmc.py, fetch_llama.py, load_db.py) and add a daily append. (2) Auditor: check the sector tags (27% of ever-top-500 coins are "other", see gaps).

## Task 1: survivor free universe (DONE)
- Source: CoinMarketCap historical listings (free, no key), top 1,500 every day, 2019-01-01 to 2026-10-06. Point in time, so dead and delisted coins are in. 2,836 days, 0 failed.
- rot.db tables: `coins` 7,046 (3,213 ever in top 500), `daily` 3,225,041 rows (date, rank, price, volume, market cap), `sectors` 15, `chains_daily` 28 chains from DefiLlama (TVL, stablecoins, DEX volume, fees; Ethereum from 2017, Solana from 2021, Base from 2022, Hyperliquid from 2024), `rules` (empty registry, ready).
- Sectors: l1, l2, defi, ai, meme (+ chain: sol, eth, bnb, base), gaming, rwa, perps, privacy, infra, exchange, other; stable, wrapped, stock are tagged and DROPPED from every ranking. Stables and wrapped are found by price (tracks USD, EUR, gold or a major within 4% on 85% of days), not just by tag. Big names fixed by hand list (in load_db.py).
- Ever-top-500 by sector: other 854, l1 467, defi 407, infra 265, meme 251, ai 220, gaming 174, stable 127, wrapped 113, stock 99, l2 73, exchange 54, perps 46, rwa 33, privacy 30.
- Gaps (one line each):
  - Coins that fall below rank 1,500 lose their price; 259 dead exits were booked at -90% on the exit day. Paid fix: CoinGecko Analyst ($129/mo) has full delisted history. Free fix: CMC per-coin history endpoint (400 day chunks), about 25k calls. Not bought.
  - Chain tags (base, arb, sui...) are today's tags, so a "Base" group before Base launched (Aug 2023) is wrong. Those legs were removed from the clock (filter in summ.py).
  - "other" is 27% of the universe, mostly 2019-2020 coins with no CMC tags. Fine for sector ranks (dropped), but some old leaders may be missing from their sector.
  - No free daily history for attention (X, Google) before 2024. Attention is not in the clock.
  - Perps, RWA, privacy have only 3 to 15 members, so one coin (HYPE, ONDO, ZEC) is the whole sector.

## Task 2: rotation clock (first pass)
Method: point-in-time sector indices (cap weight, 35% cap per coin, members = rank <= 500 the day before), divided by BTC. A leg = the sector vs BTC rises 30%+ from a low and then falls 30% (zigzag). 126 valid legs (51 in 2020-21, 75 in 2023-26).

### Cycle 2020-21 (best leg per sector, vs BTC)
| Sector | Low | Peak | Days | vs BTC | USD |
|---|---|---|---|---|---|
| infra (LINK era) | 2020-03-25 | 2020-08-29 | 157 | +149% | +329% |
| defi | 2020-05-06 | 2020-07-18 | 73 | +99% | +97% |
| l2 (MATIC) | 2021-01-02 | 2021-05-18 | 136 | +574% | +801% |
| solana chain | 2021-01-02 | 2021-05-18 | 136 | +389% | +553% |
| l1 | 2021-01-02 | 2021-05-18 | 136 | +242% | +356% |
| exchange (BNB) | 2021-01-08 | 2021-05-12 | 124 | +412% | +516% |
| gaming/NFT | 2021-01-11 | 2021-05-02 | 111 | +658% | +1106% |
| ai | 2021-01-08 | 2021-04-09 | 91 | +279% | +440% |
| gaming again | 2021-06-22 | 2021-10-03 | 103 | +122% | +229% |
| rwa | 2021-06-22 | 2021-09-14 | 84 | +123% | +223% |
Order: DeFi + infra (summer 2020) -> everything at once (Jan to May 2021, memes peaked 10 May) -> gaming/NFT + new L1s (Jul to Nov 2021).

### Cycle 2023-26
| Sector | Low | Peak | Days | vs BTC | USD |
|---|---|---|---|---|---|
| ai | 2023-10-23 | 2024-03-09 | 138 | +131% | +378% |
| solana memes | 2024-02-21 | 2024-03-31 | 39 | +144% | +236% |
| solana memes (2nd) | 2024-09-01 | 2024-12-08 | 98 | +96% | +246% |
| rwa | 2024-11-13 | 2024-12-13 | 30 | +110% | +135% |
| defi / gaming / infra | 2024-11-20 | 2024-12-08 | 14 to 18 | +59 to 66% | +69 to 74% |
| perps (HYPE) | 2025-04-06 | 2025-09-28 | 175 | +334% | +522% |
| l1 / l2 / solana chain | 2025-06-22 | 2025-09-13 | 83 to 108 | +52 to 69% | +75 to 106% |
| privacy (ZEC) | 2025-08-15 | 2025-11-15 | 92 | +391% | +299% |
| bnb memes | 2026-02-08 | 2026-03-29 | 49 | +219% | +200% |
Order: AI + Solana memes (late 2023 to Mar 2024) -> Solana memes again, then a 2 to 3 week broad alt pop (Nov to Dec 2024) -> perps -> privacy -> BNB memes (2026). Each new leg is ONE theme, short, and mostly one coin.

### Lead times (signed, + = signal came before the sector's low vs BTC; "left" = share of the leg still ahead when it fired)
| Signal | Found in | Lead days (median) | Left |
|---|---|---|---|
| breadth_70 (70% of members above 20d avg) | 120 of 126 | +11 | 73% |
| chain DEX share 1.3x its 90d avg | 21 of 46 | +14 | 76% |
| chain stablecoins +5% in 14d | 29 of 46 | +9 | 68% |
| cap share +20% in 14d | 93 of 126 | -4 | 57% |
| volume share 1.5x its 90d avg | 71 of 126 | -11 | 56% |
| RS breakout (60d high vs BTC) | 113 of 126 | -24 | 39% |
| TOP: volume share z > 2.5 | 87 of 126 | 27 days before peak | |
| TOP: RS 60% above its 50d avg | 17 of 126 | 14 days before peak | |
| TOP: breadth 90% | 81 of 126 | 36 days before peak (too early) | |
- Caveat: the search window for a signal starts 21 days before the low, so a +11 can be an early random fire. The precision test (all fires, 30 days later) says the edge is small. Files: legs.csv, signals.csv, signal_precision.csv, market_legs.csv, summary.txt (link below).

## KILLED / PROVEN this wake
- KILLED (as a stand-alone entry): RS 60 day breakout vs BTC. It fires a median 24 days after the low with only 39% of the leg left; 30d forward vs BTC -1.9% median (base -4.6%). Too late on its own.
- TESTING: breadth_70 as the first sign; volume share z>2.5 as the trim sign.

## Next (Task 3, rules v1), registered before testing
- R1 Tide: ON when BTC > 100d avg AND alt breadth (top 500 ex stables) > 50%; CAREFUL when one holds; OFF when none.
- R2 Current NOW: sector breadth_70 AND sector vs BTC above its 20d avg; NEXT: breadth_70 only; FADING: volume share z>2.5 or vs BTC below 20d avg after a leg.
- R3 Boat: top 1 to 3 by 30d return vs BTC inside a NOW sector vs equal weight of the sector.
- R4 Exit: trim half at volume share z>2.5, sell all when sector vs BTC closes below its 20d avg.
- All tested walk forward on 2020-22 and 2023-26 separately, 1 day delay, 1% cost each way, vs hold BTC and basket rule v3.

## Files
- Raw outputs: http://159.223.88.168/hx-c9ois/rot/a1/
- Code: research-box /opt/rot/analyst/ (fetch_cmc.py, fetch_llama.py, load_db.py, clock.py, summ.py)

Version: v2, 7 Oct 2026, 12:50 Bangkok. Latest: http://159.223.88.168/hx-c9ois/rot/a1-status.md
