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.
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:
- Gas is not in these numbers.
workspace-ao4(open, P1) is exactly this: book buy-side gas, fix Gold row set attribution, second-opinion the marks. Known anchors: hoodrat was +$43.23 gross and about +$41 net on roughly $2.10 of gas; the 09-05 day carried $11.00 of gas total. So the all-time figure is optimistic by somewhere in the tens of dollars and nobody has computed it. - Set attribution is imperfect. Lots 1 to 4 are stamped
B1, the pre-cutover name. Lots 5 to 11 areGold(v1). Lots 12 to 19 areGold v2. Two of the three winners in the book (hoodrat, LIQLORACLE) and all three of the night's rugs are Gold v2, on 8 lots.
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.
watchtower/tracker/dist/index.htmllast written 2026-09-05 21:36:09 (stat, 10:26). The crontab rebuilds it every minute.tail /var/tmp/watchtower-tracker.log(10:26): the same line, over and over.grep -c "em or en dash"returns 771 failed builds.- Cause:
watchtower/tracker/build.mjs:104, a regex test for U+2014 and U+2013 overDEBRIEF_BODYfollowed byprocess.exit(2). It is the guard written to enforce Thomas's own no-dashes rule at the point where text becomes a page. - Trigger:
debriefs/ALL-CALLS-2026-09-05.md, written 09-05 21:36, contains em dashes inside quoted hypothesis strings (line 74 among them).debriefBody()renders everydebriefs/*.md, so one dash in one file takes down all four pages, not just the debrief tab. - The sentinel caught it.
tail /var/tmp/crontab-job-health.log(10:25) reads[watchtower-tracker] artifact stale: ... is 758m old (expected <6m)and it has printed a tracker complaint 103 times. Nobody acted on it for 13 hours. - Lesson: a style guard on a build step is a denial of service on the whole site. It should warn and strip, or fail the one article, not
exit 2the build. And a sentinel that fires into a log nobody reads is not a sentinel.
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
- The one-plan build is verified deployed (process started 05:53:29, 1m50s after the 05:51:39 write,
reusePlanMsand thefs.watchwaker 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. - 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.mdagainst theexit 2guard atbuild.mjs:104. Every number Thomas reads on the site is 13 hours stale. Fix the file, then downgrade the guard fromexit 2to strip-and-warn. - 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.lastAtanddist/index.htmlmtime and alerts to Telegram covers both, and costs nothing. - 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.
- 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.