-- dolphin_violet DDL — consolidated from the LIVE dolphin_pink schema -- (post-ALTER: includes maras_tp + provenance columns). Generated 2026-06-12. -- Apply via apply_violet_ddl.py (one statement per HTTP POST). CREATE TABLE IF NOT EXISTS dolphin_violet.v7_decision_events ( `ts` DateTime64(6, 'UTC'), `ts_day` Date MATERIALIZED toDate(ts), `strategy` LowCardinality(String), `source` LowCardinality(String), `trade_id` String, `asset` LowCardinality(String), `side` LowCardinality(String), `entry_price` Float64, `current_price` Float64, `quantity` Float64, `notional` Float64, `leverage` Float32, `bar_idx` UInt32, `decision_seq` UInt32, `bars_held` UInt16, `action` LowCardinality(String), `reason` LowCardinality(String), `pnl_pct` Float32, `mfe` Float32, `mae` Float32, `mfe_risk` Float32, `mae_risk` Float32, `exit_pressure` Float32, `rv_comp` Float32, `mae_thresh1` Float32, `bounce_score` Float32, `bounce_risk` Float32, `ob_imbalance` Float32, `vel_div_entry` Float32, `vel_div_now` Float32, `v50_vel` Float32, `v750_vel` Float32, `exf_funding` Float32, `exf_dvol` Float32, `exf_fear_greed` Float32, `exf_taker` Float32, `posture` LowCardinality(String), `runtime_namespace` LowCardinality(String) DEFAULT '', `strategy_namespace` LowCardinality(String) DEFAULT '', `event_namespace` LowCardinality(String) DEFAULT '', `actor_name` LowCardinality(String) DEFAULT '', `exec_venue` LowCardinality(String) DEFAULT '', `data_venue` LowCardinality(String) DEFAULT '' ) ENGINE = MergeTree PARTITION BY toYYYYMM(ts) ORDER BY (ts_day, trade_id, decision_seq, ts) TTL ts_day + toIntervalDay(180) SETTINGS index_granularity = 8192;