{
  "sync_params.py": {
    "returncode": 0,
    "stdout": "\u2705  All 20 active params files are in sync with config.WEIGHT_COLS.\n",
    "stderr": ""
  },
  "check_pine.py": {
    "returncode": 0,
    "stdout": "\n============================================================\nPine Static Analysis: strategies/strategy_activation_scores.pine\n============================================================\n\n\u26a0\ufe0f  request.security() calls\n   Direct in file:    15\n   Library estimate:  +24 (from imported libs)\n   Estimated total:   39 / 40\n   Slots remaining:   1\n\n\u26a0\ufe0f  plot() + plotchar() calls\n   Direct in file:    61\n   Library estimate:  +3 (from imported libs)\n   Estimated total:   64 / 64\n   \u26a0\ufe0f  AT LIMIT \u2014 cannot add more plot/plotchar calls\n\n\ud83d\udccb plotchar exports: 56 total, 29 ending in _norm\n\n\u2705 All 49 i_w_* weight params are declared in Pine\n\n\u2705 MLP preset architectures consistent (no skipped presets)\n\n\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\nTV Validation Sentinel\n  \u2705 Validated in TV at 2026-06-25 10:24:47\n\n",
    "stderr": ""
  },
  "validate_chart_data.py": {
    "returncode": 0,
    "stdout": "\u26a0\ufe0f  COINBASE_BTCUSD, 1D.csv  [4191 rows, 2014-12-01\u21922026-06-25]\n     warn:  last bar 2026-06-25 is 88d behind now (stale export?)\n     warn:  8 time gaps > 1.5\u00d71D (largest 21 days 00:00:00)\n     warn:  2 bars move >50% in one bar (worst 70% at 2015-01-15) \u2014 verify not a price glitch\n\u26a0\ufe0f  COINBASE_BTCUSD, 240.csv  [19437 rows, 2017-10-07\u21922026-08-21]\n     warn:  first bar 2017-10-07 is after TRAIN_START 2015-01-01 \u2014 indicator warm-up may be short\n     warn:  2 time gaps > 1.5\u00d74H (largest 0 days 16:00:00)\n\u26a0\ufe0f  COINBASE_BTCUSD, 360.csv  [12928 rows, 2017-10-15\u21922026-08-21]\n     warn:  first bar 2017-10-15 is after TRAIN_START 2015-01-01 \u2014 indicator warm-up may be short\n     warn:  last bar 2026-08-21 is 31d behind now (stale export?)\n     warn:  1 time gaps > 1.5\u00d76H (largest 0 days 12:00:00)\n\u26a0\ufe0f  COINBASE_BTCUSD, 480.csv  [11189 rows, 2016-06-05\u21922026-08-21]\n     warn:  first bar 2016-06-05 is after TRAIN_START 2015-01-01 \u2014 indicator warm-up may be short\n     warn:  1 time gaps > 1.5\u00d78H (largest 0 days 16:00:00)\n\u26a0\ufe0f  COINBASE_BTCUSD, 720.csv  [8370 rows, 2014-12-01\u21922026-06-25]\n     warn:  last bar 2026-06-25 is 88d behind now (stale export?)\n     warn:  12 time gaps > 1.5\u00d712H (largest 20 days 12:00:00)\n\n5 file(s): 0 with errors, 5 with warnings only.\n",
    "stderr": ""
  }
}
