Positions

Every debriefed call in one table, the exit sweep, capital protection, and position management rules v1.

Lane report · REPORT-positions.md · updated 06/09/2026 07:37:46

Rook, worker analysis-positions. Brief: analysis-2026-09-06/BRIEF-positions.md. Scratch and scripts: analysis-2026-09-06/data/positions/. All numbers replayed on debriefs/*/minutes.json, debriefs/*/swaps.jsonl, data/executor/follower-fills.jsonl, data/watchtower/paper-ledger-v2.jsonl. Nothing live was edited.

TLDR

  1. The ladder banks 30% of what the tape offered. Over the 21 debriefed calls that ever saw +40 or better, the peaks sum to +3050 points and the live Gold v2 ladder banks +914. analysis-2026-09-06/data/positions/lowpeak-out.md.
  2. One change survives every honest way of reconstructing the price path: move the first clip from +60 to +40. The reason is mechanical, not statistical: in executor/follower.mjs:281 the trail only arms after a clip. A call that peaks +45 never clips, so it has no trail, only the -45 stop. Twenty-two of 39 calls never reached +60 and are worth -876 points together.
  3. The stepped trail we shipped last night (40, then 25 after +200) is not supported once LIQLORACLE is in the sample. On the swap-tick path it is the worst trail variant tested: -54 points against +346 for a flat 40. Last night's +121 was fitted on 32 calls that did not include the one call that has run past +1000.
  4. Do not tighten by market cap. Only 4 of 39 calls ever crossed $1M peak mcap and only 1 crossed $2M. With entry mcaps clustered between $57k and $309k, "mcap band" and "pnl band" are the same axis, and the mcap-banded variants score identically to their pnl-stepped twins.
  5. If anything, tighten at LOW pnl, not high. With trailingStopMode: relative, the trail stop sits below breakeven for any peak under +67. That is where the give-back is, not at the top.
  6. Capital: rugs are the entire live loss. Live realized is -$206.89 over 19 lots; the five liquidity_pulled writeoffs are -$250.00. Excluding them the live book is +$43.11. A realized daily-loss stop would not have stopped a single one, because the writeoffs realize hours after the buys. A maxOpen of 2 would have blocked PEZ (-$50) and cost nothing.
  7. Honesty: n = 39 calls over three days, one of them (LIQLORACLE) drives every sum. Excluding it, every variant tested is negative on every path. Treat the sweep as a ranking, not a forecast.

1. The tape, one table

39 debriefed calls after de-duplicating VERITY-2026-09-04 against VERITY-2026-09-05 (same token, same entry minute). TERROR-2026-09-04 is dropped: 2 bars of tape.

"sim" is the live Gold v2 ladder (executor/follower.json .exit) replayed on the 60 s bars of minutes.json with the adverse extreme taken first inside each bar, which is what a 2 s poller hits on a long. pnl is in points of the ticket, so +100 means the $50 ticket doubled. Rugged tokens (CYBERDOG, SEPE, ZEP, PEZZED, PEZ, from follower-fills.jsonl reason=liquidity_pulled) are forced to -100 at the end of their tape: dexscreener kept printing a rising price after the LP was pulled, and there was no route.

call set tape min entry mcap age m peak % peak min +60 at +200 at sim exit sim pts sim $/50 live $ live exit Gold v2 paper % hold % flat %
LIQLORACLE Gold v2 21 $86k 7.3 +2296 10.8 2.8 3.8 trail +409 +205 +128.9 clip+clip+trail +551 trailing_stop +491 +269
RF Wide 36 $229k 6.9 +740 2.9 1.2 3.2 trail +51 +25
ETHOSIS Gold v2 41 $111k 2.7 +739 6.1 1.0 1.6 trail +156 +78 +197 trailing_stop +200 +146
BODKIN Gold v2 50 $251k 11 +670 10.2 2.4 3.4 trail +138 +69 +196 trailing_stop +202 +29
hoodrat Gold v2 41 $233k 3.8 +239 17.7 1.0 18.0 trail +45 +23 +43.2 clip+clip+trail +65 trailing_stop +66 +24
VERITY Gold 3062 $216k 3016 +177 2937 2911 time stop +85 +43 -13.7 no_progress x2
ROBBING Gold 38 $101k 9.3 +175 6.3 3.5 trail +12 +6
PEZ Gold v2 17 $97k 15.8 +135 17.1 7.0 rug writeoff -18 -9 -50.0 liquidity_pulled -17 -17 +23
Culio Gold 32 $127k 4.6 +129 16.4 14.8 stop -50 -25
PETOI Gold 30 $105k 21.1 +96 8.2 8.1 trail +41 +21
MADETEST Gold v2 20 $309k 7.5 +85 1.3 1.2 trail +46 +23 -54 stop_loss -58 +42
FRAMON Gold 60 $120k 285 +82 50.4 46.9 no progress -1 -0 -2.8 no_progress
CLANKSEN Gold 61 $100k 36.5 +77 52.3 38.7 trail +31 +15
PEZZED Gold v2 14 $101k 13.7 +70 13.2 11.4 rug writeoff -17 -8 -50.0 liquidity_pulled -22 -22 +23
BBM Gold 51 $220k 3074 +70 42.5 40.2 open at end +57 +29
AJC Gold v2 13 $78k 19.8 +65 3.1 3.3 trail +24 +12 -26.4 stop_loss -63 stop_loss -63 -30
PasDePanique Gold 36 $122k 9.2 +63 1.3 1.8 trail +27 +14
FOMO Gold 61 $123k 1988 +58 3.3 open at end +24 +12 +1.4 time_stop
Bingus Gold 31 $110k 16 +48 2.2 stop -56 -28
BUSINESS Gold v2 20 $71k 5.7 +45 0.5 stop -49 -25 +17 breakeven_stop +17 +36
Viagra Gold 51 $240k 156 +42 1.7 stop -47 -23
MUPPETS Gold v2 9 $165k 37.6 +40 3.4 open at end +5 +3 -49 stop_loss +120 -46
COMPUTE Gold 36 $131k 20.1 +40 16.2 stop -67 -34
MUMU Gold v2 51 $187k 35 +38 0.6 stop -53 -27 -24.3 stop_loss -50 stop_loss -50 -37
Launch Gold 58 $118k 78836 +37 17.9 open at end -8 -4
DOOKIE Gold v2 36 $273k 7.2 +37 16.3 stop -47 -23 -58 stop_loss -58 -34
SANDIH Gold 60 $144k 5992 +26 0.5 open at end -14 -7
TOPO B1 30 $95k 1213 +21 1.6 open at end -23 -12 -19.1 stop_loss
ZEP Gold v2 6 $88k 12 +19 5.7 rug writeoff -100 -50 -50.0 liquidity_pulled -100 -100 -100
CYBERDOG B1 10 $983k 2 +17 9.1 rug writeoff -100 -50 -50.0 liquidity_pulled
KEYCAT B1 34 $624k 19.9 +16 4.7 stop -51 -25 -11.6 wallet_exit
MILADY Gold 31 $98k 2.9 +13 0.4 stop -53 -27 +0.2 stop_loss
COLLECT Gold v2 34 $126k 22.9 +11 1.3 stop -59 -30 -25.5 stop_loss -53 stop_loss -52 -52
HARDER Gold 61 $148k 1475 +7 6.2 no progress -9 -4 -4.3 no_progress
ELFIE Gold 61 $225k 157 +4 6.0 no progress -37 -18
Uranus Gold 61 $220k 1152 +4 47.1 no progress -19 -10
SEPE Gold 2 $57k 2.6 +3 1.3 rug writeoff -100 -50 -50.0 liquidity_pulled
CRIME Gold 60 $207k 959 +2 0.3 no progress -13 -6
SNOO Gold 54 $233k 47292 +0 0 no progress -0 -0 -2.9 no_progress

Sums: sim +160 points (= +$80 on $50 tickets, n = 39). Live realized on the 18 of these with fills: -$206.89 (follower-fills.jsonl, field pnlUsd). Paper over 14 closes each at sizeUsd 50: Gold v2 +$280.05, Gold-hold +$337.57, Gold-flat +$145.69 (paper-ledger-v2.jsonl, .pnlUsd on type=="close"). Full machine-readable table: analysis-2026-09-06/data/positions/tape.json.

Three exits side by side, on the calls all three books saw. Gold v2 and Gold-hold differ on exactly one call: MUPPETS, where Gold v2 closed stop_loss at -49 and Gold-hold rode to +120. That is not a rule difference: both sets carry stopLossPct: -45 and both opened MUPPETS at the same price at 21:12:14, and Gold-hold's poller simply never sampled the -45 mark that Gold v2's did at 21:18:48. It is a marking artifact worth its own fix: MUPPETS is +$84.32 of Gold-hold's $57.52 edge, against which LIQLORACLE costs the hold book -$30.06 (245.61 versus 275.67) for trailing out three minutes later. Gold-flat (single +30 clip, stop -25, no trail) wins the losers and gives up the runners: it turns MADETEST -54 into +42 and AJC -63 into -30, and it turns LIQLORACLE +551 into +269. Flat is a better median book and a much worse sum book.

Where the live fill differs from the paper book. LIQLORACLE: paper +551%, sim on bars +409, live +$128.9 on a $50 ticket, that is +258%. Half the gap is latency at the clip (the +60 clip filled at roughly +154%, follower-fills.jsonl 01:03:04, usdOut 65.36 on a $25 basis) and half is the tail we never sold. This is the execution lane's problem, not the ladder's.


2. Sweep of the exit space

Scripts: data/positions/sweep.mjs, robust.mjs, lowpeak.mjs, clipsweep.mjs, trailmode.mjs, boot.mjs. Full output: data/positions/*-out.md.

The path-construction problem, stated first because it drives everything. minutes.json gives 60 s bars, not a tick tape. Whether a trail fires depends on whether you assume the bar low came before the bar high. I ran every variant on three constructions: bars (adverse extreme first, the pessimistic and most poller-like), closes (bar closes only, optimistic), and ticks (every swap in swaps.jsonl). Variants whose sign flips between the three are not findings.

variant bars, vs live ticks, vs live closes, vs live ex-LIQLORACLE (bars) median pts (bars) hit (bars)
LIVE Gold v2 ladder (+160 abs) (-54 abs) (+288 abs) -249 -13 38%
clip1 +40 x 50% +194 +128 +150 -55 0 49%
clip1 +40 x 67% +291 +190 +50 +113 0 49%
trail 40 flat (drop the step) +288 +399 -97 -195 -13 38%
trail 40, 30 after +150 +302 +499 +20 -181 -13 38%
trail 40, 20 after +200 -138 +14 +97 -249 -13 38%
trail 20 flat -79 -80 +133 -190 -13 38%
mcap trail 40 <$2M, 25 >$2M +288 +539 -97 -195 -13 38%
mcap trail 40/30/20 by $500k/$2M +239 +610 +20 -244 -13 38%
points-mode trail (40 pts) -170 -7 -46 -186 -13 38%
stop -55 +92 +59 -7 -156 -8 44%
stop -35 -49 -17 33%
stop -25 -141 -25 26%
no-progress 45m under +10 +76 +77 +80 -173 -11 41%
no-progress off +64 -12 41%
time stop 30m -80 -8 38%
no clips at all (pure trail) -405 23%
clip1 +40x50% + trail 40 flat +481 +527 +54 -2 0 49%
clip1 +40x50% + hybrid trail + np 45m +121 +181 +201 +11 +8 51%

Only three rows keep their sign on all three paths: the +40 first clip, the 45 minute no-progress, and the two composites built on the +40 clip. Everything about the trail flips.

Why the +40 clip works, mechanically. decideExit at executor/follower.mjs:281 gates the trail behind if (clipped). Until the first clip fires there is no trail and no breakeven ratchet, only stopLossPct: -45. Twenty-two of 39 calls never reached +60 (lowpeak-out.md); they are worth -876 points together. Five of them peaked between +40 and +60 and then rode to the stop:

call full-tape peak live ladder with a +40 first clip
BUSINESS +45 -49 (stop) +9 (trail)
Bingus +48 -56 (stop) +10 (trail)
Viagra +42 -47 (stop) +20 (trail)
FOMO +58 +24 +33
MUPPETS +40 +5 +8
sum -123 +80

Leave-one-out for the +40 clip (clipsweep-out.md): the full-sample delta is +194 points; dropping any single call leaves it between +120 and +219. No one call drives it. That is the opposite of the trail variants, where dropping LIQLORACLE flips every sign.

Bootstrap, 1000 resamples over calls (boot.mjs, seeded, deterministic):

variant bars: mean delta 5th 95th P(better) ticks: mean 5th 95th P(better)
clip1 +40 x 50% +184 -26 +428 93% +115 -103 +372 78%
clip1 +40x50% AND trail 40 flat +486 +97 +961 99% +542 -61 +1355 90%
trail 40 flat +302 +0 +756 90% +421 -68 +1286 65%
trail 40, 30 after +150 +310 +5 +765 97% +529 -61 +1587 66%
mcap trail 40/25 at $2M +305 +0 +756 89% +570 -66 +1704 66%
no-progress 45m under +10 +78 -23 +245 78% +78 -20 +235 82%
stop -55 +81 -79 +288 74% +46 -103 +233 63%

The trail variants have P(better) of 65 to 66% on the tick path with an interval three times as wide as their mean. That is the shape of a result that rides on one call appearing in the resample.

Trail as pnl rises, and as mcap rises: the direct answer. With trailingStopMode: relative, the stop after a peak of P sits at P - trail x (1 + P/100):

peak trail 40 stop trail 30 trail 25 trail 20
+40 -16 -2 +5 +12
+60 -4 +12 +20 +28
+100 +20 +40 +50 +60
+200 +80 +110 +125 +140
+2000 +1160 +1370 +1475 +1580

A 40% relative trail is already a widening ladder in points. It only sits above breakeven once the peak exceeds +66.7. So the honest answer to "narrow as pnl goes up" is: the relative trail narrows in fraction of the run given back automatically, and the place it is broken is the bottom, not the top. As for mcap: only BODKIN, CYBERDOG, LIQLORACLE and RF ever crossed $1M peak mcap and only LIQLORACLE crossed $2M. Entry mcaps run $57k to $983k with 37 of 39 under $310k, so peak mcap is close to a monotone function of peak pnl on this tape. The mcap-banded variants are not measuring anything the pnl-stepped variants do not already measure, and there is no n at the top band.

Outcome by entry mcap band, for what it is worth (live ladder, bars): under $100k n=9 sum +120; $100k to $200k n=16 sum -69; $200k to $400k n=12 sum +260; over $400k n=2 sum -151. The middle band is the loss-maker and the $200k-$400k band is the winner, which contradicts the current filters.bands preference for "under 250k". n is too small to act on.


3. Capital protection

Where the live loss came from (follower-fills.jsonl, pnlUsd by reason, non-dry):

reason n sum $
liquidity_pulled (rug writeoff) 5 -250.00
stop_loss 5 -95.00
no_progress 5 -23.82
wallet_exit 1 -11.58
time_stop 1 +1.42
trailing_stop 2 +63.98
clip_target 4 +108.11
total 19 lots -206.89

Rugs are 121% of the loss. Every other exit category nets +$43.11. This is the single most important capital fact in the lane, and the fix belongs to the rugs lane, not to the ladder.

Did the stop-loss hits recover? Under the live ladder on bars, 10 calls exit on the stop for -533 points. All 10 later traded above their exit price (median +58 points above), but only 5 of 10 got back above our entry: Culio (-50 exit, later +129), COMPUTE (-67, later +40), DOOKIE (-47, later +37), KEYCAT (-51, later +16), BUSINESS (-49, later +1). The other five kept falling: COLLECT, Bingus, MILADY, Viagra, MUMU. That is a coin flip, and it is why stop -55 gains +92 on bars but only +59 on ticks and -7 on closes. A wider stop is not a free lunch, it is a bet that the sample keeps splitting 5/5.

Separately, the -45 stop does not realize -45 live. AJC realized -52.8%, COLLECT -51.0%, MUMU -48.6% (follower-fills.jsonl: usdOut against a $50 usdIn). Roughly 5 points of overshoot per stop, on top of the configured level.

Did we hold winners into flat? Yes, and this is the give-back table. Under the live ladder, 11 calls exit on the trail and every one of them later traded higher, median +92 points higher. Six of the 11 exited at or below +7 points on the runner fraction despite peaks of +62 to +175:

call peak banked as % of peak
ROBBING +175 +12 7%
hoodrat +92 +45 50%
PETOI +96 +41 43%
PasDePanique +63 +27 43%
CLANKSEN +62 +31 50%
AJC +65 +24 37%
BODKIN +354 +137 39%
ETHOSIS +311 +156 50%
LIQLORACLE +994 +409 41%

Across all 21 calls that saw +40 or better: peaks sum +3050, banked +914, capture 30%.

The daily frame. $50 tickets against a wallet of roughly $510 (0.203 ETH at 02026-09-06 05:53, working state). maxOpen: null and dailyLossStopUsd: null today. Counterfactuals over the whole live tape (frame-out.md):

rule lots taken lots skipped winners skipped total $ worst day $
as live (no caps) 19 0 none -206.89 -98.38
maxOpen 3 19 0 none -206.89 -98.38
maxOpen 2 18 1 none -156.89 -98.38
maxOpen 1 15 4 LIQLORACLE +$129 -185.75 -98.38
daily realized loss stop $100 17 2 hoodrat +$43 -223.72 -104.20
daily realized loss stop $75 14 5 hoodrat +$43 -183.56 -82.50
maxOpen 2 + daily loss $100 16 3 hoodrat +$43 -173.72 -104.20

Peak concurrency that night was 3 lots at 02:06 UTC, $150 of a $510 wallet, 29%. maxOpen: 2 blocks exactly PEZ and costs nothing on this tape. A realized daily-loss stop is useless against the rug case: ZEP, PEZZED and PEZ were all bought before any of them was written off at 02:54, so realized pnl was still +$128.86 (from LIQLORACLE) when PEZ was bought. It also costs hoodrat, the second-best trade in the book. Do not ship a realized daily-loss stop.

One hazard with maxOpen: on the night of the rugs, ZEP was "open" for 149 minutes because there was no route to sell it. A naive maxOpen: 2 would have been jammed by two unsellable lots and stopped trading entirely. The cap must count only lots that still have a route, or must release a lot once v4PoolDrained fires.


4. Position management rules v1

# rule evidence status
1 Hard stop at -45, no breakeven until the first clip 10 stop exits, -533 pts, 5 of 10 never recovered above entry live, keep
2 Breakeven ratchet on first clip prevents the trail sitting below zero at low peaks (table in section 2) live, keep
3 Relative trail, not points points-mode is -170 on bars, -7 on ticks, -46 on closes vs live live, keep
4 First clip at +40 x 50%, not +60 x 50% +194/+128/+150 pts on bars/ticks/closes; leave-one-out +120 to +219; arms the trail on 5 calls that currently ride to the stop ship now (config)
5 Drop trailSteps (the 25 after +200) -54 abs on ticks against +346 for flat 40; the step was fitted on 32 calls without LIQLORACLE ship now (config)
6 maxOpen: 2, counting only lots with a live route saves PEZ -$50, skips no winner; peak concurrency 3 = 29% of the wallet ship now (config) plus a small code guard for the stuck-lot case
7 Second clip +200 x 25% changes 0 to 3 calls in every variant; +11 pts at 50% live, keep, not worth touching
8 No-progress 30 min under +10 45 min is +76/+77/+80; 15 min is +15; off is +64 shadow first (n=6 exits, all small)
9 Time stop 90 min 30 of 39 tapes are shorter than 60 min, so 90 versus 180 versus off is untestable here (0 calls change) not supported by the data yet
10 Tighten the trail as mcap rises 4 calls ever crossed $1M peak mcap, 1 crossed $2M not supported by the data yet
11 Tighten the trail as pnl rises above +200 every stepped-trail variant is path-dependent and rides on LIQLORACLE; P(better) 65 to 66% on ticks not supported by the data yet
12 Widen the stop to -55 +92 bars, +59 ticks, -7 closes; P(better) 63 to 74% shadow first
13 Daily realized-loss stop costs hoodrat +$43, saves nothing, does not fire before a rug is written off not supported by the data yet

Next things to try, ranked, one paper set each

Configs to add to watchtower/rules-v2.json sets[] (Rook to add as shadow books; the entry filters stay identical to Gold v2 in every one, only exit changes):

P1 Gold-clip40 (the recommended live change, run it in paper for a day first)

{ "name": "Gold-clip40", "exit": { "stopLossPct": -45, "noProgressMin": 30, "noProgressPct": 10,
  "clips": [{ "pct": 40, "fraction": 0.5 }, { "pct": 200, "fraction": 0.25 }],
  "trailingStopPct": 40, "trailingStopMode": "relative", "timeStopMin": 90,
  "walletExit": false, "breakevenAfterClip": true } }

Expected on this tape: +481 pts vs live on bars, +527 on ticks, +54 on closes; median goes from -13 to 0, hit rate 38% to 49%.

P2 Gold-clip40-fat (same, first clip takes two thirds)

{ "name": "Gold-clip40-fat", "exit": { "stopLossPct": -45, "noProgressMin": 30, "noProgressPct": 10,
  "clips": [{ "pct": 40, "fraction": 0.67 }, { "pct": 200, "fraction": 0.25 }],
  "trailingStopPct": 40, "trailingStopMode": "relative", "timeStopMin": 90,
  "walletExit": false, "breakevenAfterClip": true } }

The only variant that is positive vs live on bars and ticks and positive with LIQLORACLE removed (+113 pts ex-LIQLORACLE). It is the capital-protection version of P1.

P3 Gold-wide (test the wider stop and the later no-progress together)

{ "name": "Gold-wide", "exit": { "stopLossPct": -55, "noProgressMin": 45, "noProgressPct": 10,
  "clips": [{ "pct": 40, "fraction": 0.5 }, { "pct": 200, "fraction": 0.25 }],
  "trailingStopPct": 40, "trailingStopMode": "relative", "timeStopMin": 120,
  "walletExit": false, "breakevenAfterClip": true } }

Both components are the same sign on bars and ticks and near zero on closes. This set exists to find out which of the two is real.

P4 Gold-lowtight (tighten at low pnl, the counterintuitive one)

{ "name": "Gold-lowtight", "exit": { "stopLossPct": -45, "noProgressMin": 30, "noProgressPct": 10,
  "clips": [{ "pct": 40, "fraction": 0.5 }, { "pct": 200, "fraction": 0.25 }],
  "trailingStopPct": 25, "trailingStopMode": "relative", "timeStopMin": 90,
  "trailSteps": [{ "seenPct": 100, "trailPct": 40 }, { "seenPct": 500, "trailPct": 30 }],
  "walletExit": false, "breakevenAfterClip": true } }

Tight until +100, wide through the middle, tight again above +500. +491 pts vs live on bars, +591 on ticks, +171 on closes, but ex-LIQLORACLE it is +8 on bars and negative on ticks and closes, so it is a runner bet. It is the direct test of the "the trail is broken at the bottom, not the top" claim.

P5 Gold-hold-clip40 (the runner book, to keep an upper bound in view)

{ "name": "Gold-hold-clip40", "exit": { "stopLossPct": -45, "noProgressMin": null, "noProgressPct": 10,
  "clips": [{ "pct": 40, "fraction": 0.5 }, { "pct": 200, "fraction": 0.25 }],
  "trailingStopPct": 40, "trailingStopMode": "relative", "timeStopMin": 480,
  "walletExit": false, "breakevenAfterClip": true } }

Gold-hold already beats Gold v2 on MUPPETS by 169 points on a single call. Pairing the hold horizon with the +40 clip separates "we exit too early in time" from "we exit too early in price".


Recommendations

Ship now (config only, reversible)

  1. executor/follower.json .exit.clips[0].pct: 60 to 40 (and .exit.clipPct to 40 to keep the legacy field in step). Evidence: rule 4 above. Reverse by editing the two numbers back.
  2. executor/follower.json .exit.trailSteps: []. Evidence: rule 5. The step was fitted on a 32-call sample that predates the only call that has run past +1000.
  3. executor/follower.json .maxOpen: 2. Evidence: rule 6. Do this only together with build item 1 below, otherwise a stuck lot jams the book.
  4. watchtower/rules-v2.json: add the five shadow sets P1 to P5 above.

Build (code, with the test that proves it)

  1. maxOpen must not count unsellable lots. A lot whose routes.mjs check returns v4PoolDrained should stop counting against the cap. Test: two open positions where one is drained; decideEntry still admits a third. Without this, maxOpen: 2 would have halted trading for the last 90 minutes of the 09-06 night.
  2. Stop overshoot telemetry. Log the mark that triggered the stop next to the realized pct, so we can measure the roughly 5 points of overshoot (AJC -52.8 realized against -45 configured) instead of estimating it. Test: a fixture fill where the mark is -45 and the fill is -52 produces stopOvershootPct: 7.8 in the fill line.
  3. A tick-resolution replay harness. Every conclusion in section 2 changes sign depending on whether the replay runs on bar lows, bar closes or swaps. debriefs/replay-stepped-trail.mjs runs one of the three. Make the path construction an explicit flag and re-run the shipped ladder against all three before any future exit change. Test: the existing 32-call stepped-trail result reproduces on the tick path and reverses on the close path.

Needs Thomas

  1. Sizing versus the wallet. $50 tickets on a $510 wallet means a 3-lot night is 29% at risk. Either the wallet gets bigger or the ticket gets smaller; the data cannot choose. My read: the rug rate (5 of 19 live lots) argues for a smaller ticket until the rugs lane ships a filter, not for a daily loss stop.
  2. Whether to accept the runner trade-off. P2 (+40 x 67%) is the only rule that is positive without LIQLORACLE, and it explicitly sells two thirds of the next LIQLORACLE at +40. That is a preference, not a statistic.

Open questions

Sources

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