Everything else

What the four lane pages and Experiment A do not cover: the live book all-time, everything shipped in the last 48 hours, what is running in shadow, what broke (including a tracker site frozen for 13 hours that no page reports), and what is due today.

Updated 06/09/2026 10:30:18

Everything else

Everything from the last ~48 hours that is not in the rugs, execution, capture or positions pages, not in the Experiment A page, and not in the recommended-state page. Every live-state line carries the command and the minute it was run. Every shipped line names the file. All clock times are Beirut (UTC+3) unless the row says Z.


1. Live right now

Verified 10:25 to 10:27 Beirut, 2026-09-06.

Thing Value Command, time
Mode live, set Gold v2, ticket $50, maxOpen unlimited, no daily budget, no loss stop, poll 2 s jq '.' executor/follower.json 10:25
Kill switch absent (not armed) ls data/executor/KILL 10:25, no such file
Wallet 0.20304 ETH, $507.30 at ETH $2,498.52, 0x2E2D...9eF5, cache stamped 07:25:01Z jq '.' data/executor/wallet.json 10:25
Open lots 0 jq '{day, open:(.open|keys)}' data/executor/follower-state.json 10:25
Day so far (09-06) spent $250, realized -$47.53, 5 buys, 4 sells same command, 10:25
Services running crypto-follower, crypto-watchtower, crypto-feed-watch systemctl --user list-units --type=service --state=running | grep crypto 10:25
Follower process PID 1927592, active since Sun 2026-09-06 05:53:30, elapsed 4h32m systemctl --user show crypto-follower.service -p ExecMainPID -p ActiveEnterTimestamp 10:25
Detection liveness shadow-state.watch.lastAt 07:27:26Z, i.e. one minute old at read time. Ticking. jq '.watch.lastAt' data/watchtower/shadow-state.json 10:27

What code the follower process is actually running: the one-plan build, deployed. This is the question the execution lane's 1.82 s number depends on, so it is worth the four checks:

Check Result
stat -c '%y' executor/follower.mjs (10:25) 2026-09-06 05:51:39, 80,086 bytes
Process start (10:25) 05:53:29, i.e. 1m50s after the file was last written. The running process loaded this file.
grep -n reusePlanMs executor/follower.mjs 2 hits: DEFAULTS.reusePlanMs: 4000 (line 51) and the read at line 1210. F2 present.
grep -n "fs.watch" executor/follower.mjs lines 1571, 1574. F5 (state-write waker plus the watchFile fallback) present.
grep -n "follower start" data/executor/follower.log | tail -1 2026-09-06 05:53 +03 follower start, pid 1927592, mode live, sets [Gold v2], ticket $50.00

So the execution lane's claim is correct: the one-plan build is live. What it did not get is its own dry run. The last rows in data/executor/dry-fills.jsonl are 2026-09-05 07:22 to 07:38Z, from the pre-cutover dry pass. The 05:53 restart shipped the one-plan build and the v4 drain read and burnedWallet() on tests alone (473/0 per memory/2026-09-06.md), without the dry buy plus dry sell on a live token that the standing executor-change rule requires. It has since executed nothing: zero buys after 02:06Z. The one-plan path has never sent a live buy. Treat 1.82 s as measured in an A/B harness (executor/oneplan-ab.mjs), not as an observed live fill time.


2. The live book so far

Every real-money lot, all time, from data/executor/follower-fills.jsonl (127 rows, read 10:26). Times UTC. P&L is the sum of every sell leg on that lot, gross of gas.

# Symbol Set Opened Closed Exit reason P&L
1 TOPO B1 09-04 10:29 10:32 stop_loss -19.05
2 CYBERDOG B1 09-04 15:15 18:51 liquidity_pulled -50.00
3 VERITY B1 09-04 20:04 20:34 no_progress -13.45
4 KEYCAT B1 09-04 21:43 21:50 wallet_exit -11.58
5 HARDER Gold 09-04 22:17 22:48 no_progress -4.30
6 VERITY Gold 09-05 01:50 02:20 no_progress -0.29
7 SEPE Gold 09-05 02:02 02:04 liquidity_pulled -50.00
8 SNOO Gold 09-05 02:26 03:00 no_progress -2.94
9 FRAMON Gold 09-05 03:19 03:50 no_progress -2.84
10 MILADY Gold 09-05 04:32 04:33 stop_loss (27 s) +0.21
11 FOMO Gold 09-05 05:10 05:40 time_stop +1.42
12 COLLECT Gold v2 09-05 12:16 12:22 stop_loss -25.48
13 MUMU Gold v2 09-05 16:56 17:11 stop_loss -24.28
14 hoodrat Gold v2 09-05 19:50 20:21 clip, clip, trailing_stop +43.23
15 AJC Gold v2 09-05 22:47 22:55 stop_loss -26.40
16 ZEP Gold v2 09-06 00:25 02:54 liquidity_pulled -50.00
17 LIQLORACLE Gold v2 09-06 00:59 01:04 clip, clip, trailing_stop +128.86
18 PEZZED Gold v2 09-06 01:23 02:54 liquidity_pulled -50.00
19 PEZ Gold v2 09-06 02:06 02:54 liquidity_pulled -50.00

Totals (19 lots, all closed, jq over the same file at 10:26):

Cut Lots P&L
All time 19 -$206.89
Rugs only (liquidity_pulled) 5 -$250.00
Ex-rugs 14 +$43.11

By exit reason: clip_target 4 legs +$108.11 · trailing_stop 2 legs +$63.98 · time_stop 1 +$1.42 · no_progress 5 -$23.82 · wallet_exit 1 -$11.58 · stop_loss 5 -$95.00 · liquidity_pulled 5 -$250.00.

Two caveats that belong on this table and nowhere else:


3. Shipped in the last 48 hours

Dated, with the file. Everything below was verified as present on disk or in the log at the stated time.

When What Where
09-05 01:15 Cutover to the three-set board, crypto-positions.service retired, tracker deploy moved to crontab (tracker/build.mjs --deploy, every minute) watchtower/rules-v2.json, crontab
09-05 09:34 to 10:57 The fixes pass: three parallel workers under one field contract fixes-2026-09-05/{README,FIELDS,BRIEF-*,REPORT-plumbing,REPORT-goldv2,REPORT-debrief}.md
09-05 10:57 Gold v2 cutover, live on Thomas's 10:50 voice. Heat ceiling +200 to +500%/1h, strict 2 to 60 min age, maxOtherCohortWallets 1, rug ratio 0.8 under 10 min, chase 25% against the wallet's own receipt-decoded fill, minBuyUsd 100 measured-only, time stop back to 90 min, walletExit off executor/follower.json, watchtower/rules-v2.json (written the same minute, per FIELDS.md), commit 51b49d160
09-05 10:57 Alert re-spacing. One empty line between title / details / books / conclusion / chart. alerts.mjs rule 8 (blocks) plus rule 9 (board emoji passthrough); v1 and convergence alerts muted (rules.json alerts.telegram false, callers.mjs --no-alert) watchtower/alerts.mjs, milestone-2026-09-05/ALERT-CONTRACT.md
09-05 01:14 Tracker data contract and debrief page. Four pages (log, trader, desk, debrief), one compiled tracker.json, legacy set aliasing milestone-2026-09-05/TRACKER-DATA-CONTRACT.md, watchtower/tracker/{compile,build}.mjs
09-05 21:20 Call-debrief program across all 31 calls, then v2 aggregation; call-debrief.mjs live field fixed to sum every sell leg (it was reading hoodrat as +$13.52 against +$43.23) debriefs/, debriefs/ALL-CALLS-2026-09-05-v2.md
09-05 23:48 Exit retry ladder. isExitRevert covers estimateGas, on-chain and unknown-custom-error reverts; a sell walks exitAttemptLadder 1000/1000/1500/2200 bps in one pass; failed-exit cooldown 60 s to 10 s; one system alert per exit-failure streak. Tests 415/0, dry buy and dry sell done executor/follower.mjs (.bak-2350)
09-05 23:48 Stepped trail trailSteps [{seenPct 200, trailPct 25}] in both follower.json and Gold v2 .bak-2355. The positions lane now recommends reverting this, twelve hours old.
09-06 00:45 Watch loop decoupled out of the enrichment cycle into its own loop, 3 s floor, 20 s backoff, watchBusy guard. Detection p50 was 10.5 s because the wallet watch only ticked between enrichment cycles watchtower/watchtower.mjs (.bak-0045)
09-06 00:44 Sequencer-feed shadow detector, transient unit, emits no signals watchtower/feed-watch.mjs, crypto-feed-watch.service
09-06 01:00 Alchemy move. Key at ~/.openclaw/secrets/alchemy.json (600), new resolver with redact() executor/rpc-url.mjs, watchtower.mjs.bak-0100, feed-watch.mjs.bak-0100
09-06 01:00 ws logs shadow detector. Alchemy websocket logs subscription on Transfer-to-proven-wallet, shadow only data/watchtower/ws-detect.jsonl
09-06 02:45 One-plan build F1 to F5, signal to ready-to-send 9.00 s to 1.82 s median, 21 network legs to 5.5, tests 459/459 and 50/50 research/execution/FOLLOWER-ONE-PLAN-REPORT-2026-09-06.md, executor/{exec,follower}.mjs, .bak-oneplan
09-06 05:51 Direct Uniswap v4 sell plus PoolManager drain read. v4PoolLiquidityById / v4PoolDrained via extsload (no StateView on this chain); the follower now asks the PoolManager when a v4 simulate fails, and a zero on chain marks univ4-drained at $0 into the existing 60 s write-off path. Before this, a max-tick rug reverted instead of returning zero, so the write-off never fired executor/routes.mjs (.bak-0545), executor/exec.mjs (.bak-0545), executor/follower.mjs (.bak-0615)
09-06 05:51 Burned-wallet rule. A wallet whose followed lot closed liquidity_pulled inside filters.burnedWalletHours (default 24) is skipped, log-only, plus handlesDeny: ["frankdegods"] executor/follower.mjs, executor/follower.json (.bak-0625)
09-06 05:53 Follower restarted onto all of the above. Tests 473/0 data/executor/follower.log:4143
09-06 07:08 WATCH_LOGS_VIA_ALCHEMY = false: every eth_getLogs back on the public endpoint in one call, Alchemy keeps eth_call, receipts, decimals watchtower/watchtower.mjs (.bak-0708)
09-06 07:27 Four-lane analysis dispatched, four reports, ~104 KB, then FINDINGS-2026-09-06.md analysis-2026-09-06/
09-06 10:00 workspace-dfr (P0) closed after verification, not after a fix: F6 lotIsDry() was already live in commit 12f1f9070 with regression coverage at test-follower.mjs:1179 group 34. The ticket had simply never been closed at cutover bd

Not shipped and worth naming: the WETH-pool unwrap sell built at 05:45 has never executed against a live pool, because none of the three pools it was built for could quote in either direction. It sits behind estimateGas as a last resort on sells only.


4. Running in shadow

Six sets in watchtower/rules-v2.json (read 10:26). One is followed with real money, five are paper only. Each answers one question:

Set Live The question it answers
Gold v2 yes The production book. Every difference from v1 is a tear-down finding with a table behind it.
Gold no v1 verbatim, kept running as the control Gold v2 is judged against. Not a recommendation, a baseline.
Gold-hold no Does Gold v2 sell its winners too early? Same entry, clock removed: last quarter trails 40% for up to 8 hours, no-progress off. Killed by 30 entries at or below Gold v2's median. The 30-day tape cannot answer this (60-minute forward window), so only live paper can.
Gold-flat no Is the ladder worth anything at all? One 100% clip at +30, stop -25, no trail, 90-min stop. On 124 Gold entries the mechanical +30/-25 scored the highest hit rate of anything tested (71%), and it is the only variant a bad mark cannot corrupt.
Hot no What is the heat ceiling worth? The exact complement of Gold v2: requires 1h run at or over +500%, unknown fails. Together the two take every signal that clears the rest of the filter. Prices the bucket where the trigger's median collapses to -12.5% on n=18.
Mid no Is there anything above $1M? Null-hypothesis book, staged 09-05 19:58. Mcap $1M to $20M, age 2 min to 2 h, exits in hours (stop -35, clips +100/+300, 8h stop). The runner census says there is no entry signal at the $1M crossing, so if it loses as predicted it gets archived, not tuned.

Paper ledger rows since the reset (data/watchtower/paper-ledger-v2.jsonl, 10:27): Gold 104, Wide 95 (retired set, rows continue), Hot 60, Gold-hold 40, Gold v2 38, Gold-flat 36, plus 283 legacy B1 rows.

Two detection shadows (wc -l, 10:27):

Shadow Rows Read
data/watchtower/ws-detect.jsonl (Alchemy ws logs) 2,690 The winner. Saw 119 of 119 of the night's feed rows at a median 4.02 s earlier than the poller. This is the cutover the execution lane wants.
data/watchtower/feed-detect.jsonl (sequencer tx.from) 2 Structurally dead: every buy on this chain is relayer-submitted, so 2 hits in 3,054,061 transactions overnight. Built 00:44, killed by measurement inside eight hours. The unit is still running and still costs nothing, but it should be retired rather than left to look like a live detector.

For comparison, the production detector's own data/watchtower/feed.jsonl is 1,421 rows.

Experiment A (one line only, the Experiment A page has the rest): collector alive and clean at 10:24, events=7010 buys=3207 traders=2033 lagMedianMs=7562 holes=0 errors=0, progress-experiment-a.md tail read 10:27; Bolo's v3 join/mark/crowd repairs are landing but carry 1,100 to 2,200 errors per pass.


5. Broke, and what was learned

The tracker site has been frozen for 13 hours and no lane page reports it. This is the one live break found while writing this page.

The 87-minute detection outage (05:41 to 07:08). The 01:03 change routed watch eth_getLogs through Alchemy in 10-block windows. Each Alchemy 429 left the cursor behind, so the next range was longer, needed more windows, burned more compute units and 429'd again. 981 Alchemy 429s between 02:00 and 04:00Z. Nothing traded in the window and no money was lost to it, but any proven-wallet buy in those 87 minutes was invisible. Two lessons: the free tier is a compute-unit budget per second, not just a 10-block cap, so polling logs through it is the wrong shape; and the outage was invisible to every sentinel we own, because the process never crashed and nothing on the crontab reads watch.lastAt.

The Relay 429 storm. Our own exit-retry loop, 623 attempts an hour against a 50-per-minute limit, three stuck lots at once on a 10 s cooldown. 508 Relay 429s. This was self-inflicted by the 09-05 23:48 cooldown change (60 s to 10 s), which was correct for a single failing lot and wrong for three. Fix is a per-token backoff after N failures, not a global cooldown.

The stale planning-pass "paused" claim. The 07:35 Planning Pass opened with "Gold v2 is paused, dry, waiting on your go" while real money had been trading all night. It read Thomas's 09-05 09:27 pause and never read his 10:50 resume. Single-input read, caught at 08:00 and the plan file overwritten. Same shape as the 09-04 21:29 CYBERDOG mark and the 09-06 05:29 dexscreener marks: a stale source quoted as current state.

The evaluator FAIL streak: eleven consecutive. Verdict at evaluator/verdicts/morning-brief-2026-09-05.md (workspace root, not under projects/crypto-2026-09/). Hard fail on "Unverified 'shipped'": the 09-05 brief asserted default machinery was wired on cvp and bv7 when neither bd comment carried the Daily Log Close default-execution check: enforce on <date> line that 6fc, 039 and phi all carry, and no job fired against either. bv7's default then came due and did not fire, which is the same failure the brief had diagnosed one paragraph earlier and asserted as fixed in another. Two lesser fails: length (2,289 words) and one unhedged root cause. Worth stating plainly: every number in that brief reconstructed, several exactly (the -$60.16 across six closes, the 27-second MILADY close, the feed counters 768 and 1,888, the disk at 33%). The failure was never analytical. It was that the brief sold a forcing function it had not built, and then used that unbuilt forcing function as the reason it was allowed to carry only one decision. Root fix, mechanical: stated defaults must live somewhere a scheduled job actually reads. Today's Daily Log Close scans daily notes; those defaults lived only in bd comments.

The voice-note media stall class. workspace-yga closed 09-05: untranscribed voice notes are not an STT selection problem at all, the raw media download from Telegram's file API stalls ("no data received for 30000ms") entirely upstream of model selection. The bug is in compiled vendor code and cannot be patched here, so the shipped mitigation is scripts/sentinels/voice-media-fetch-alerter.sh, every 5 minutes, which alerts within 5 minutes of a fresh occurrence instead of the message silently vanishing. Commit 2451293b4. The 09-05 morning brief had asserted the wrong root cause for this in print, which is one of the three evaluator fails above.

Also broken, lower stakes: test-univ4.mjs group 2 still uses the CYBERDOG fixture, now delisted from dexscreener, so the suite has a permanently red group. Reported stale three times now, which is how a broken test becomes permanent. And fs.watch throws ENOSPC on this box, so the one-plan build's F5 waker runs on its 250 ms polling fallback until fs.inotify.max_user_instances is raised (one root sysctl).


6. Due and open

Today's defaults, with times and named executors (each now carries an explicit enforce line in bd, added in the 08:00 pass and confirmed with bd show before it was claimed):

Time Item Default if silent Executor
12:00 workspace-9b2 ticket size, $50 on a ~$507 wallet ticket $50 to $25 for today, and the walletRugRate gate ships as a hard refuse at 0.15, not log-only the 14:00 Execution Pass, with a written instruction not to skip it on live-money reasoning
18:00 workspace-bv7 Benchhaus / Ralph sitdown pack built and queued, nothing sent the 18:00 Execution Pass, check is a literal test -f on projects/benchhaus-2026-09/RALPH-PACK-2026-09-06.md. Its default already slipped once (due EOD 09-05, did not fire). A second slip gets reported as one.
EOD workspace-039 exit ladder v1 resolves from REPORT-positions.md, not from the stale SYNTHESIS section-5 proposal Daily Log Close, and it will not close on a claim, it verifies the two ladder fields on disk first
EOD workspace-phi partnership chapter (Elie's role, David partner or contractor, define $20k) fourth brief in a row carrying it Daily Log Close

The D4 call, Sunday 23:00. Pre-registered kill: under 30 events or under 10 traders closes Experiment A as "no population". It will pass at 23-and-rising, but on one leg: the +60%-in-60m leg has fired zero times because peak60mPct exists on 5 rows of 5,637, and 13 of the 23 qualifying rows sit on one token (PEZ, which then rugged). The letter of D5 says thresholds cannot move. The spirit says a pass on those numbers means nothing. That is a Thomas call, not a Rook call.

Asks that need Thomas's hands, not his judgment (all free, none is a spend):

Ask Why Cost
Alchemy Pay As You Go toggle uncapped eth_getLogs as an insurance switch. Three lanes converge on the same paid-data question $0 base, $0.45/1M CU, so $0 until something calls it, ~$8/mo if it ever billed
Relay self-serve API key 50 quotes/min to 10/second, kills the 429 class outright free
An address-history / indexer key Blockscout is Cloudflare-blocked on /api and /api/v2 from this box and the public RPC serves no archive state. "How many tokens has this EOA launched" and "who funded these three burners" are currently unanswerable. Two lanes are blocked on it, so it is one decision, not two free tier likely enough
One root sysctl fs.inotify.max_user_instances, un-blocks F5 free
Christian's 7-point terms memo drafted 09-01 at projects/fnb-os/terms-memo-draft-2026-09-01.md, still unsent, queue-never-send holds one tap

Open in bd, crypto-tagged, not otherwise covered (bd list --status open, 10:25; 42 open total):

Id P What
workspace-ao4 P1 Reconcile every published number to the wallet: book buy-side gas, fix Gold row set attribution, second-opinion the marks. This is section 2's caveat as a ticket.
workspace-eld P1 Kyber sell estimateGas reverts, unknown custom error, on v4-pool tokens. 5 of 8 hoodrat exits failed. Ladder shipped, root cause still open.
workspace-309 P1 Refuse the buy when the sell leg cannot be simulated. COLLECT bought into a pool whose reverse leg did not quote, then exited at -50%.
workspace-1yn P2 Multi-hop direct v4 route (token to X to ETH) not built. Kyber covers it today; needed for rug exits when the deep pool is not vs ETH.
workspace-1r2 P1 Execution speed deep dive. Report shipped, ticket still open.
workspace-da2 P1 Degen-bot execution analysis and Execution v3 proposal. Artifacts exist, ticket open.
workspace-0ki P1 Epic, Golden strategy program, staging vs production.
workspace-apy P1 Crypto book plan, strategy session Thomas + Elie + Rook.
workspace-ntu P1 7-day paper week go/no-go, Sep 8.
workspace-6oo P2 Crypto read access for Rook (wallet addresses, Telegram feed, newsletters).
workspace-btr / wrr P2 Watchtower module B, attributed smart money.
workspace-ss2 P2 Smart-wallet tape, finish overnight, refresh follow-list.
workspace-yfr P2 X pulse monitor via xAI x_search.
workspace-7te P3 Executor priority, spike regime only.
workspace-i6h P3 Fomo API key, free tier 10k req/month, for per-trader history.

Infrastructure state (10:25 to 10:26): 24 crontab lines, 13 enabled jobs per the meta-sentinel's 06:00 run (enabled=14 problems=0, and that count is now wrong because the tracker job is failing every minute). openclaw cron list: 13 jobs, 12 ok, one idle by design (Idea Ledger Review, Wednesdays). The last cron-health run reads FAIL, and the only entry in it is the tracker.


7. Leads to

  1. The one-plan build is verified deployed (process started 05:53:29, 1m50s after the 05:51:39 write, reusePlanMs and the fs.watch waker both present in the running file), so the execution lane's 1.82 s is the live code path. But it shipped without its dry buy and dry sell, and has not sent a live buy since, so the recommended state should include one dry round trip before the next signal rather than after it.
  2. The tracker site has been dead for 13 hours and no other page says so: 771 failed builds since 2026-09-05 21:36, one em dash in debriefs/ALL-CALLS-2026-09-05.md against the exit 2 guard at build.mjs:104. Every number Thomas reads on the site is 13 hours stale. Fix the file, then downgrade the guard from exit 2 to strip-and-warn.
  3. Two of the cheapest reliability items are the same item: nothing on the crontab reads a data-liveness timestamp. The 87-minute detection outage and the 13-hour tracker freeze were both invisible or ignored for the same reason. One sentinel that reads watch.lastAt and dist/index.html mtime and alerts to Telegram covers both, and costs nothing.
  4. The rugs are the entire loss and the ex-rug book is positive: -$206.89 all time, -$250.00 from 5 write-offs, +$43.11 across the other 14. Any recommended state that spends effort on exits before the pre-buy gate is optimising the wrong half of the book.
  5. Retire the sequencer-feed detector rather than leaving it running: 2 rows against ws-detect's 2,690. Leaving a structurally dead detector active is how a future pass mistakes it for a working input.

Built 06/09/2026 22:10:01 Beirut. Source files under projects/crypto-2026-09/analysis-2026-09-06/.