# ── Secrets ─────────────────────────────────────────────── .env *.pem *.key # ── Python ──────────────────────────────────────────────── __pycache__/ *.pyc *.pyo # ── Logs / process output ───────────────────────────────── logs/ *.log *.err *.out # ── Large generated / raw data dirs ─────────────────────── raw_api/ live_data/ league_data/ ht_data/ # ── Volatile state in data/ (track only the config maps) ── data/* !data/league_map.json !data/team_map.json # ── Misc generated artifacts ────────────────────────────── misc/archive/ *.png *.tmp _tmp_*.csv # ── Dashboard publishing (added 2026-08-09) ─────────────── # dashboard.html is regenerated hourly by main/publish_dashboard.py; tracking it # would add 18 diffs a day of pure noise. Its published copy lives in the # football-stuff repo, which is the durable record. dashboard.html # .publish/ is a working CLONE of that repo -- a git repo inside a git repo. .publish/ .auto_trade_err_last_email # Runtime kill switch for the live maker -- its presence is machine state, not # source. Committing it would ship "stopped" to any checkout. /STOP_MAKER # Tape caches rebuilt on demand by the research scripts. research/.tape_cache.json research/.tape_sized_cache.json # Rate-limit marker for the stale-dashboard alert -- machine state. /.publish_err_last_email # Trade-print cache for the ratchet backtest -- rebuildable, ~MBs. research/.trades_cache.json # Single-instance lock for the live maker -- machine state, heartbeat-based. research/.mm_maker_live.lock