Offline go/no-go on building an A0-avoidance (skip/delay first-touch) fill policy. Verdict: NO-GO to build. The “A0 first-touch is structurally toxic” conclusion is a telemetry/regime artifact — A0 rows only exist for the 3-day directional drawdown, so first-touch toxicity cannot be separated from a regime that was toxic to everything. Source of truth: docs/superpowers/a0-fill-policy-offline-scope-2026-07-12.md.

Verdict — NO-GO to build the A0-avoidance policy

Building on this evidence would be a 6th in-sample-overfit NO-GO for the project (would overfit 2 drawdown days). The prior “A0 is structurally toxic (−5.70¢), remove A0 and the book flips +EV (+1.30¢ A1+)” headline does not survive the per-attempt data. Downgrade the A0-specific claim from “structural first-touch adverse selection” to “regime-confounded, concentrated in thin alts — not established as structural.” The general signal-healthy, loss-at-fill thesis still stands; only the A0-SPECIFIC structural claim is downgraded.

Why it’s an artifact — the telemetry confound

pm_fak_attempts.attempt_no=0 (first-touch) telemetry was only added with PM’s 45fa0eb, so A0 rows exist only from 2026-07-09 onward — which is exactly and only the 3-day directional drawdown (07-09/10/11, the three worst P&L days of the week). There is zero A0 data from the 5 green days.

Telemetry-change proof: pm_fak_attempts pre-07-09 has min(attempt_no)=1, max=2, count(attempt_no=0)=0; from 07-09+ min=0. First-touch rows were simply never INSERTed before 45fa0eb rolled — pre-07-09 first-touch fills are absent from the table entirely.

So “A0 is toxic” cannot be separated from “the 07-10/11 regime was toxic to everything.”

The like-for-like correction

The prior split compared red-day first-touch fills (A0) against green-day reprice fills (A1+). The flattering “+1.30¢ A1+” was green-day reprice fills. Inside the same clean 07-09→11 window, A1+ is −0.5¢ (breakeven), not +1.30¢ — and per-asset samples (13–44 fills) are too small/wild to call +EV.

splitnwin%net ¢/share
A0 (all from 07-09→11)66068.9−5.35 (booked −6.21)
A1+ — full period (green-day-heavy, confounded)35477.7+1.87
A1+ — same clean window 07-09→1111973.9−0.5

A0 is not stable across days

A structural first-touch pathology would show on day 1 too. It doesn’t — A0 was positive on 07-09:

daynwin%net ¢
07-0914675.3+0.36
07-1029467.0−7.21
07-1122067.3−6.67

A0 loss is asset-concentrated (thin-book signature)

btc/eth are near-breakeven; the loss lives in the thin alts — a liquidity/depth signature, not a universal first-touch-selection one. (Depth-aware sizing is already a NO-GO.)

assetnwin%net ¢
btc8772.4−1.10
eth17973.2−1.97
sol13467.9−3.63
xrp9066.7−9.13
doge17064.7−10.45

The counterfactual is unobservable

Skip-A0 assumes refused first-touches would re-fill profitably on reprice, but the FAK ladder stops on fill — that path is never observed. Both bounds fail to produce a +EV book in the only regime with A0 data:

  • Pessimistic (drop A0, keep only observed A1+): volume −85% (779→119 fills), EV −4.6¢→−0.5¢ (still breakeven-negative). You avoid the loss mostly by not trading.
  • Optimistic (all A0 volume re-fills at A1+ economics): EV → ~−0.5¢. Still not +EV in-regime, and keeps only ~15% of fill volume in the pessimistic case.

EV reconstruction validated

public.pm_fak_attempts, source_id LIKE '%_5m_algo_%', filled rows: 1,133 fills (660 A0 + 473 A1+). Labels = CLOB truth via sign(realized_pnl_usd) per (condition_id, token_id) from public.pmv2_autotrade_orders. Net per-share EV = gross − 0.07·p·(1−p). Reconstruction validated against booked realized_pnl_usd: A0 booked = −6.21¢/share vs reconstructed −5.35¢ (booked slightly worse; same conclusion).

Recommendation

  1. Do not build the A0-avoidance fill policy. Structural first-touch toxicity is confounded with regime (2 drawdown days), asset (thin alts), and an unobservable counterfactual.
  2. Downgrade the A0 conclusion from “structural first-touch adverse selection” to “first-touch fills lost money during the 07-10/11 directional drawdown, concentrated in doge/xrp — regime-confounded, not established as structural.”
  3. Pre-registered re-test: 45fa0eb now records A0 every day. Once ~5 green/normal-regime days of A0 telemetry accrue, re-run this exact within-regime per-asset A0-vs-A1+ comparison. Only a green-regime A0 that is also clearly worse than A1+ would justify building the policy.
  4. Independent, cheaper levers unaffected by this: EMIT_MAX_ASK 0.85→0.78–0.80 and the thin-alt (doge/xrp) fill pocket — both real, both do not require the A0 story.

For Agents

  • A0 = pm_fak_attempts.attempt_no=0 (first-touch fill). Telemetry added 45fa0eb (~07-09).
  • A0 data window == the 07-09/10/11 drawdown ONLY. No green-day A0 exists yet. Any A0-vs-non-A0 conclusion drawn now is regime-confounded.
  • Reproduce: scripts/pgq.sh "<sql>" [out.csv] (transient duckdb ATTACH READ_ONLY on :5432). Filter filled pm_fak_attempts join pmv2_autotrade_orders winmap on (condition_id, token_id), group by attempt_no=0, day, asset.
  • This note REFINES crypto-shortterm-overnight-gate-a0-lever-rearm-2026-07-10 which named A0 as “the real lever” — that lever is now downgraded/parked pending green-regime A0 telemetry.