-- 2026-07-21: explicitní lifecycle pozic (Reporter 2.0 snapshot + closed delta).
-- Dřív: "zavřeno" se odvozovalo ze stárnutí time_ping → splétalo "pozice zavřená"
-- s "reporting nefunguje" (zombie incident: 156 zavřených vypadalo otevřeně a naopak).
-- Teď: status open/closed explicitně; tombstone JEN při živém snapshotu; výpadek
-- reportingu = unknown/stale, ne closed. Trim closed >365d dělá cleanup.php.
ALTER TABLE positions ADD COLUMN status ENUM('open','closed') NOT NULL DEFAULT 'open';
ALTER TABLE positions ADD COLUMN closed_at DATETIME NULL;
ALTER TABLE positions ADD COLUMN realized_pnl DOUBLE NULL;
ALTER TABLE positions ADD COLUMN close_price DOUBLE NULL;
ALTER TABLE positions ADD INDEX idx_acct_status (account_number, status);
-- Jednorázový backfill: řádky s ping starším 1 h jsou fakticky zavřené (stará inference)
UPDATE positions SET status='closed', closed_at=time_ping
 WHERE time_ping < DATE_SUB(NOW(), INTERVAL 1 HOUR);
