# 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.

# DC Coder tasks: the deep check machine

## READ THIS FIRST
- 14:21 Bangkok: **WAKE RULE CHANGED (D-022, read http://159.223.88.168/hx-c9ois/wake-howto.md, 1 page).** Rings are retired. On EVERY wake, first thing: make a fresh doorbell with send_later (at 2027-06-01T00:00:00Z, name "Doorbell: DC <your role>", message pointing to http://159.223.88.168/hx-c9ois/dc/dc-bus.md), and write `DOORBELL: trig_... (armed, <Bangkok time>)` as LINE 1 of your status file. To wake me: nudge my DOORBELL (line 1 of dc-supervisor-status.md) with update_trigger run_once_at = now + 1 to 2 min; never fire_trigger. Do this on your next wake; no reply needed for this line alone.
- 13:38 Bangkok: Ruler fix accepted, thanks. Add Q5c **V3** to the shadow (prereg line "7 Oct 13:37 | A1 | Q5c V3", read its exact action from dc-prereg.md) as a third row next to V1 and V2, same fire, same positions. One ring when V3 is live.
- 13:35 Bangkok: **Q5c shadow: match the prereg ruler exactly.** The line says A3's loose ruler, frozen, which INCLUDES the funder exclusion. Do not change the live count; instead reuse A1's code (dc-a1-6-q5b.py / dc-a1-6-xfer2.py, one address per eth_getLogs, no Blockscout) to compute the funder-excluded count too, log both, and score on the prereg one. If that is not possible within the hour, mark Q5c rows 'ruler differs from prereg' on score-all so nobody grades them. SW per-trade file: I am asking SW via the Consigliere now. One ring when done.
- 13:29 Bangkok: **Both prereg lines ARE in dc-prereg.md, build now:** Q5c = "7 Oct 13:16 | A1 | Q5c HOLD LONGER" plus its "7 Oct 13:18 | A1 | Q5c AMENDMENT"; T15 = "7 Oct 13:19 | Engine | E-AN4-1-T15 forward" (rule file rules/e_an4_1_t15.py md5 ef62db0d9ec6c975f98c05a1b862ad61): map tw_an4_1_t15 to it as forward paper now. Q5c shadow: start with FW (mc5live.txt, v3mc5.txt). For SW, try http://159.223.88.168/hx-c9ois/sw/w2-live-events.md (live events, newest first; SW went LIVE at $10 at 13:17) for BUY/SELL lines with token and time; if it has no per-trade buys, run FW only and tell me, I will ask SW for a per-trade file. One ring when Q5c shadow is running. Good batch on the handovers.
- 13:15 Bangkok: **E-AN4 books: KILL tw_an4_1 (X3_48) and tw_an4_1_v3 (full-universe test failed). KEEP tw_an4_1_t15 as shadow; it becomes forward paper once the Engine's new T15 prereg line is in.** New book for A1: Q5c HOLD LONGER shadow on every FW/SW position opened after 13:15 (spec = A1's prereg line when it lands; log outside holder growth in the first 60 min after entry and the 50% trail exit next to the window's real exit). The 12:31 handover batch: your 12:55 line covers A5; tell me when the Scout/A3 rows are on score-all. One ring when all of this is done.
- 12:32 Bangkok: **ADD to the handover job above (A5 closed):** two more shadow books, TRI10 (locked or burned LP coins: sell on a 50% trail after 1.5x OR when insiders sold 10% of their stack; prereg 7 Oct 11:19) and NET5 (T4: sell at 5x OR when outside net buy over 5 min turns negative). Code: http://159.223.88.168/hx-c9ois/dc/a5/an5nopull.py function `trade` (md5 23849d667147c2fbbb5e57329203856f). Same done line and one ring for the whole batch.
- 12:31 Bangkok: **HANDOVERS from closed seats (Scout + A3), all yours, shadow or scoring only, 0 credits:** (1) hourly rows: CHONK 0x717d38587504b79e2e888c860bd1569c0d5984af, ORBANCY 0x109b383a42305dc48855b9b791c202002c6b391f, SAI 0xf21b6d9b337abfb40f91bbbb0b1c73ccc6cb45ea, copycats ORBANCY 0xa91c23d91ae3e4acb35c9cea4a05e8f8909781bd and PONS 0xc9a2784b04dafd5bda8f8820a125d86ccc443569. (2) v3 LP owner check (NPM 0x73991a25c818bf1f1128deaab1492d45638de0d3 ownerOf + positions) as a column on every v3 row. (3) campaign root 0x4488c4ec6e634a5380ddd234333579f0bb5ca6d5 into the skip list. (4) SC.2: score dc-scout-calls.csv at +24 h automatically. (5) two shadow books from A3: DC3.6 holder-growth flag and DC3.2 X authors (specs in dc-prereg.md; X data from PP DCPP.4 saves). Done = rows on score-all, one status line, ring me once.
- 12:30 Bangkok: Scout seat closed (Ben final). Add the Scout's watch coins (CHONK, ORBANCY, plus any in dc-scout-status.md) to your hourly overlay script as plain rows. A5's TRI10 and T4 NET5 forward lines come to you as shadow books when A5 hands them over. No ring needed for this alone.
- 12:13 Bangkok (real clock), Ben's order via Consigliere: **dc/score-all.json becomes THE one scoreboard for all windows** (FW, SW, DC, Rotations when it has calls). Show n on every row, grey out books under 30 trades, $ a day 1 d / 7 d, live vs paper. Other teams' money pages will link to it. Also: hourly script that scores every DC overlay call on FW/SW positions (A1 will hand the rule file).
- 11:36 Bangkok (real clock): CHANGE to the E-AN4-1 line: the Engine VOIDED its backtest (survivor look-ahead, rerun due 13:00). **Keep the forward paper book `tw_an4_1` anyway** (forward data has no look-ahead, it is the real test and costs nothing), but mark it SHADOW and keep it OFF the live-ready list until the rerun passes. Pause the v4 executor work until 13:00; finish whatever is half done.
- 11:32 Bangkok (real clock): **TOP PRIORITY: book E-AN4-1 as a forward paper book NOW** (Engine EN.5 http://159.223.88.168/hx-c9ois/dc/dc-en-5-an4.md, first rule that passes the official rulers: $100 +$224/+$891 a day on 3x/48 h, +$658/+$825 on T15, beats random 100%). Rule: v4, age <= 1 h, sellable $100k printed, not pulled, price <= 0.88 x highest sellable print so far, net buy $ last 15 min (incl. firing trade) >= 0.25 x cap; buy the NEXT trade. Book `tw_an4_1`, both exits side by side (X3/48 h and T15), $100 and $1,000 at real depth, record fill delay in seconds, log the swap router of every buy and sell so the public-router rule can be checked. Map it to the prereg line in live-ready.json. **Also start the v4 Universal Router executor now** (do not wait for 2 green days): if this rule goes 3 for 3, live must be ready the same evening.
- 11:16 Bangkok (real clock): WARNING before you stop dcwatch: PP's DCPP.4 X saver reads its coin list from http://159.223.88.168/hx-c9ois/dc/cards.json. Keep that URL alive, with the same fields, fed from your thirdwindow T1 triggers (every trigger, all books) BEFORE you switch dcwatch off. Check the next DCPP.4 run still finds coins.
- 11:14 Bangkok (real clock): live-ready.json: map v3_500_200_15 to prereg "7 Oct 11:01 | A1 | DC1.1-V3F forward" (it exists); mark tw_laneF books KILLED. Books with no prereg line can never be live; that is correct.
- 11:18 Bangkok (real clock): (1) **Lane F is KILLED** (A2 11:01, mixed clocks; 1 hit in 16 on a chain-only trigger). Keep its book as shadow only, mark it KILLED on score-all, never a live candidate. (2) **Yes: stop dcwatch on the main droplet** and retire cards/dc_all; your thirdwindow shadow book replaces it. Main is overloaded. (3) Pull check: `0xd0fd42bd8374ac659d3d81242d032211c2481055` is NOT a lock (pulled 10 of 10); treat its pools as creator-held. (4) SW per-trade file: read only what SW publishes; if missing, show their totals and mark per-trade as not public. Do not ask SW to change files. (5) v3 book prereg exists now (A1 11:01 DC1.1-V3F).
- 11:12 Bangkok (real clock): **Ben APPROVED live $10 per trade for any rule positive 3 forward paper days in a row** (dc-plan.md go-live gate: caps 10 trades/rule/day, stop after 2 red live days or fills 25%+ worse than paper). Build now, paper only until a rule qualifies: (1) a `live_ready` flag per book in the nightly loop (3 days net positive, pre-registered rule); (2) a live executor stub on thirdwindow that sends $10 buys through a PUBLIC router with the same exit logic, OFF by default, no wallet key yet (Ben funds a fresh Third Window wallet when the first rule qualifies; never touch another team's wallet); (3) show live vs paper side by side on score-all.html. New ring rules at the bottom of dc-bus.md: batch, ring once.
- 11:05 Bangkok (real clock): read dc-learning.md. Your rules: 1 and 4. **Shadow everything:** every trigger (all lanes) gets a $100 paper position under every exit (X5, X3, T15, 50% trail, 48 h cap), priced at the real next swap, and its full feature row frozen at decision time into the Engine's feature store. "Not booked" no longer exists; only "booked with which exits".
- 11:00 Bangkok (real clock): Lane F book live, ahead of time, and the alumni table matches A2 610 of 610: good. Add **exit T15 side by side** with X5 in the same book (T15 = 3x or the first trade 15 min after fill, whichever first; A2 DC2.2 says it wins on new money below a sellable $1M). Then move cards/dc_all from main to thirdwindow, then the v3 $500k/200 +15 min book (A1 prereg line), then the all-teams scoreboard.
- 10:35 Bangkok (real clock): **NEW credit rules in dc-bus.md (no self wakeups, servers watch).** Your books, triggers and pages must run as systemd or cron on thirdwindow, not by Claude wakes. **DCC.3 (Ben said yes): one scoreboard for ALL three teams**, a server-side page http://159.223.88.168/hx-c9ois/dc/score-all.html (phone + desktop): First Window (http://159.223.88.168/hx-c9ois/fw/pnl.html and its data), Second Window (sw/ live and paper books), Third Window books. Per book: live or paper, trades, $ per day (last 1 d / 7 d), win rate, biggest win, worst loss, last update time. Read other teams' PUBLIC files only, never their dbs or bots. Cron every 5 min. After Lane F book.
- 10:32 Bangkok (real clock), from Scout SC.1 (http://159.223.88.168/hx-c9ois/dc/dc-sc1-calls.md): (1) add a **v3 LP owner check** to m2 (NonfungiblePositionManager ownerOf on the pool's position: EOA deployer / contract / locker / burn); it decided 2 of 5 live checks; (2) add the **factory clone skip** (v4, 1% fee, no hook, 2+ same-name clones in 24 h); (3) run m3 social only when m1 and m2 pass; (4) never fire a trigger on GeckoTerminal cap, only sellable cap.
- 10:25 Bangkok (real clock), **Lane F spec FIXED by the Auditor** (http://159.223.88.168/hx-c9ois/dc/dc-audit-dc2-1.md): at T1 + 30 s, compute price ÷ high so far (high up to T1 + 30 s) and the alumni share; if ≤ 0.784 AND ≥ 0.053, paper buy at the NEXT swap after that and log the real delay (expect ~20 s). Also log the result for the looser cut ≤ 0.82 as a second book `tw_laneF_82`. Both $100 and $1,000 ticket marks. Log the router (tx `to`) of every sell you price, so W2 can be checked forward.
- 7 Oct 10:40 Bangkok: **NEW, before the full runner: Lane F forward paper book** (dc-plan.md DECISIONS 7 Oct 10:40). On every T1 trigger compute two numbers within 30 s: close ÷ high so far, and the alumni share of buyers (alumni = wallets that bought in the first 30 min of an earlier coin that later hit a sellable $1M, known only after that time; A2's per-coin table and method are in dc-a2-1-chain.md). If ≤ 0.784 AND ≥ 0.053: paper buy $100 at the next swap, record fill delay, sell at 5x, pull = 0, 48 h cap. Log every trigger, bought or not, with both numbers. Book `tw_laneF`. Run it on the thirdwindow server. ETA: live by 16:00 Bangkok. Then continue DCC.1 (watcher, cards) with a T4 survivor trigger slot (A1 defines it today).
- 7 Oct 10:35 Bangkok: **Your server is live: `thirdwindow`, 168.144.142.0** (Singapore, 2 vCPU, 4 GB RAM + 2 GB swap, 80 GB disk, Ubuntu 24.04). Same key and route as the main droplet: `ssh -T -i ~/kookwatch/id_kookwatch root@168.144.142.0`. Installed: python3, pip, venv, sqlite3, jq, nginx, fail2ban, unattended upgrades, ufw (22 and 80 open). Build in /opt/tw; nginx is yours to point at /opt/tw/pub if you want a page there. Move the watcher, runner, dc.db and paper book here. Keep publishing team docs to the main droplet folder dc/ (bus.json lives there). Reads of PP data: research-box 152.42.241.219 read only, or small lookups on main. Ops standard applies (systemd Restart, heartbeat, staleness check, auto fix).
- 7 Oct 10:30 Bangkok (v2): team is now the **Third Window**. Read dc-plan.md section "How Third Window runs" and dc-lessons.md. Your server ask is passed to Ben with my yes. Until it lands: build in your own container and do heavy reads on PP's research-box 152.42.241.219 (read only), droplet only for one token lookups. PP's DCPP.2 table: research-box /opt/sw/dc/cross.db + http://159.223.88.168/hx-c9ois/dc/data/dc-cross.csv, backfill ~20:00 today, live tail ~12:00 8 Oct. Until then T1 on v4 day DBs + venues.db + v3live, as you planned. New task DCC.2 below (after DCC.1 v0).
- 7 Oct 10:10 Bangkok, from the Deep Check Supervisor. Start with DCC.1. NEW: Price Predict owns all general data collection; you build on its data and never touch its code. First read dc-plan.md and the ops standard (project doc claude/ops-standard.md: systemd Restart, heartbeat file, supervisor check, alertgate, silent auto-fix, 3 watchers).

## DCC.1 Trigger watcher + check runner skeleton + baseline paper book (ETA: v0 running within 6 h, ring me)
- **Where:** first check the load on the droplet 159.223.88.168 (it runs ~13 on 2 cores) and on 178.128.20.136. If neither has room, write "Needs Ben: a small server for Deep Check" in your status with the size you need, and build in your own container meanwhile. Never slow the live bots of the other teams.
- **Bus cron:** add one crontab line on 159.223.88.168: `* * * * * /opt/swbus/bus.py /opt/launchwatch/pub/hx-c9ois/dc >/dev/null 2>&1`. Check that http://159.223.88.168/hx-c9ois/dc/bus.json appears. (The Supervisor may have done it already; check first.)
- **Never touch Price Predict's code, services, crons or databases** (/opt/hist, /opt/pricepredict-data, aipick*, venuepick, sentinel, pickguard and their files). Read its databases read only (`file:...?mode=ro`), light queries, `nice -n 19`. General data collection is PP's job: if a feed or table is missing, write it under "Asks for Supervisor" and I queue it with PP. You build only deep-check things.
- **Trigger watcher (paper), built on PP data:**
  - read PP's live tables (day DB swaps, venues.db, tokens.db births, liqlock.db pulls); no new chain collectors of your own beyond small targeted reads for one coin's check;
  - fires T1 (sellable $250k + 100 unique buyers, thresholds in a config file so analysts can change them);
  - fires T2 for every coin held by a First Window or Second Window book (read their dbs or public files read only);
  - writes `dc.db` table `trig` (token, pool, venue, trigger type, time, cap, buyers);
  - also runs `family_check.py` (http://159.223.88.168/hx-c9ois/runners/family_check.py) to drop skip-list coins with a reason.
- **Check runner skeleton:**
  - one module per file (m1_tape, m2_operator, m3_social, m4_project, m5_context), each returning a dict of features plus its cost;
  - cache by token;
  - re-checks at +15 min, +1 h, +4 h, +8 h, +24 h;
  - writes `cards` (token, stage, features json, cost, decision).
  - Start with m1_tape and m2_operator (chain only). m3 calls xsafe only behind a daily budget switch, off by default.
- **Baseline paper book `dc_all`:** buy $100 at every T1 trigger at the real pool price; honest exits (0.3x stop with pull detection, sell at 5x, 7 d cap); price fills at real depth.
- **Page:** dc/cards.html (phone and desktop): today's triggered coins, stage, decision, P&L of `dc_all`.
- **Watchers:** heartbeat file, systemd Restart, add to the droplet supervisor checks, silent fixes, alertgate only if everything fails.
- **Deliver:** dc-coder-status.md line with what runs where, md5s, first trigger counts, ring me.

## Rules
- Paper only. Never touch wallets or the other teams' bots and files (read only). Bangkok time. Full addresses. Never put a secret on screen.

## DCC.2 Scoreboard and forward log (loops L1 and L2; ETA 8 Oct 12:00 Bangkok)
- Every card stores its call (score, word, 3 reasons) at check time, never updated later.
- Outcome filler: +24 h and +7 d sellable peak, pull yes or no, honest 5x yes or no, paper P&L at $100 and $1,000 with real fills.
- tw-score.md (http://159.223.88.168/hx-c9ois/dc/tw-score.md), rebuilt 00:15 Bangkok daily plus one live line each hour: paper $ a day per rule (baseline dc_all first), calibration per score band, cost per day (X credits, API $), coins triggered, skipped, checked.
- Champion and challenger slot: the scoring rule lives in a config file with a version; every change is logged with time and reason. You only swap after the Supervisor writes "promote" (it needs an Auditor PASS).
