WTI MM added +5,353 contracts this week (73,347→78,700) — small longs into the crisis. Not an aggressive build. Brent MM slightly more short (-33,814→-35,690). European desk is hedging, not speculating. The positioning story is the ABSENCE of a story — and that's bullish for continuation.
Platform: EnergyScope MCP v2.9.3
Pipeline: data → derived_signals (v2, scored/themed/transition-aware) → compare_runs → HTML → publish
Tools used: latest(CFTC), percentile, derived_signals, compare_runs
Data sources: CFTC
Contradictions firing: fundamental_rally (0.725)
Snapshot keys: wti_mm_net, wti_mm_pctl, brent_mm_net, brent_mm_pctl, brent_wti_zscore, crack_321_z, wti_price_pctl, regime, primary_dislocation, contradictions_active_count
Signal layer: 45 signals evaluated, 19 active across 6 themes. Dominant lens: diesel_clean_long (1.0). Virtual metric: OPEC-IEA spread +2.53 mb/d.
Narrative approach: Regime-first hierarchy. Contradictions are server-canonical. Replication: any MCP client calling the same tools produces identical analysis.