First read of the newly-recorded book-depth columns. In the exact regime where the backtest edge concentrates (τ∈[60,150)s, conviction ≥0.30), the take-side touch holds ~5,109 p90, and 3¢ cumulative depth holds ~15,579 p90. This weakens the project’s long-standing #1 risk — the “thin-book / 0.98-spread / unfillable” mirage hypothesis. The depth is now an independent fact; the ~7%/trade edge is still not.

For Agents

Status after this note: T19 still CONDITIONAL — but the dominant risk is partially retired. New depth columns (added in deploy pin 69b84b1) profiled by bin crates/analysis/src/bin/depthprofile.rs (commit 35aa202) over 3 days of depth-populated data: 159,113 rows / 761 windows; candidate regime (τ∈[60,150)s, |p_fair−0.5|≥0.30) = 12,197 rows / 360 windows. Headline: in the candidate regime the take-side TOUCH median = 658 shares (~5,109); take-side 3¢ cumulative depth median = **6,171 (1 each. So the books are NOT empty where the edge lives — the ~7%/trade backtest result is not obviously unfillable due to empty books, which weakens (does not kill) the 0.98-spread mirage hypothesis (see crypto-shortterm-phase0-codebase-complete). Still NOT a GO — three skeptic caveats hold: (1) the implied capacity ceiling ~$432/trade (6,171×0.07) is CIRCULAR — it multiplies real depth by the still-UNVERIFIED 7¢/share edge; depth is now an independent fact, the edge is not; (2) depth = size at the 1s snapshot, says nothing about whether it survives ~150ms after signal (latency unverified, needs real fills); (3) sanity watch — in the depth-aware re-run the edge should DECAY sensibly as size grows; a flat decay curve smells like an artifact. Next gate: depth-aware selectivity re-run (walk-forward, cap each fill to recorded best_*_sz, plot edge-vs-size decay, corrected significance bar). 360 candidate-regime windows now vs 834 in the original power calc → preliminary pass possible now, decisive run ~1 week at ~800 windows. Only if the edge survives realistic sizing → small real-fill test on a funded account in the τ60–150s/c≥0.30 regime. Snapshot paper-lane still rejected. Report: docs/superpowers/phase0-depthprofile-report.md.

What was measured

  • Binary: crates/analysis/src/bin/depthprofile.rs, commit 35aa202.
  • Input: ~3 days of data populated with the new book-depth columns (best-bid/ask sizes + cumulative depth bands), added in deploy pin 69b84b1.
  • Sample: 159,113 rows / 761 windows total; candidate regime (τ∈[60,150)s, |p_fair−0.5|≥0.30) = 12,197 rows / 360 windows — i.e. the exact crypto-shortterm-phase0-selectivity winning cell.
  • Report: docs/superpowers/phase0-depthprofile-report.md.
  • Unit note: sizes are Polymarket shares, each ≈ $1 at settlement, so “shares ≈ dollars” throughout.

This is the depth recording that [[crypto-shortterm-phase0-selectivity#Implication for T19 / phasing|the selectivity note’s next-step #1]] called for: the observations schema previously recorded top-of-book prices but not sizes, so every backtest PnL implicitly assumed an infinite fill at touch.

Result — the touch holds real, non-trivial size

In the candidate regime (where the edge concentrates):

MetricMedianp90
Take-side touch size658 shares (~$658)5,109 (~$5,109)
Take-side 3¢ cumulative depth6,171 shares (~$6,171)~15,579

Reading: the book is not empty in the last 60–150s on clearly-ITM/OTM contracts. There is real two-sided size to cross. This directly contradicts the bid0.01 / ask0.99 “effectively empty / untradeable” read that became the project’s [[crypto-shortterm-phase0-codebase-complete#2. WATCH (top risk) — Polymarket books look empty/untradeable|#1 open risk]] — that earlier read was 2 windows and is now superseded by 360 windows of recorded depth.

Significance — the #1 risk is weakened, not killed

What this changes

The long-standing top risk was the thin-book / 0.98-spread / unfillable mirage hypothesis: that the ~7%/trade backtest edge was an artifact of pricing fills against an empty top-of-book that you could never actually transact at. With ~6,171 within 3¢ in the exact edge regime, that hypothesis is substantially weakened — the edge is not obviously unfillable due to empty books. The mirage explanation is no longer the path of least resistance.

But the skeptic position is intact. Three caveats keep this CONDITIONAL, not GO:

Caveat 1 — the capacity ceiling is circular

The tempting “capacity ceiling ~432/trade as a capacity number; it inherits all the uncertainty of the unverified edge.

Caveat 2 — depth ≠ fillable at latency

Recorded depth is the size resting at the 1s snapshot. It says nothing about whether that size is still there ~150ms after the signal fires. Latency-survival is unverified and cannot be tested offline — it needs real fills. (This is also why the snapshot paper-lane stays rejected: 1s books can’t test true latency.)

Caveat 3 — watch the decay curve for artifacts

In the upcoming depth-aware re-run, the edge should DECAY sensibly as fill size grows (you eat deeper into the book at worse prices). A flat edge-vs-size curve would smell like an artifact, not a real liquidity-bounded edge. This is the sanity check on the re-run, not just its headline number.

Implication / next gate

The next gate is the depth-aware selectivity re-run:

  1. Walk-forward (same purged/embargoed K-fold discipline as crypto-shortterm-phase0-walkforward / crypto-shortterm-phase0-selectivity).
  2. Cap each fill to the recorded best_*_sz (and step deeper using the cumulative-depth bands) — no more infinite-touch fills.
  3. Plot edge-vs-size decay — the artifact sanity check from caveat 3.
  4. Corrected significance bar for the smaller, regime-filtered sample.

Power / timing

The candidate regime now has 360 windows vs 834 in the original selectivity power calc. → A preliminary depth-aware pass is possible now; the decisive run is ~1 week out at ~800 windows of depth-populated data.

Only if the edge survives realistic sizing → a small real-fill test on a funded account in exactly the τ∈[60,150)s / c≥0.30 regime (the only thing that resolves caveat 2). The snapshot paper-lane remains rejected.