{
 "generated_utc": "2026-08-04T10:31:07Z",
 "code": {
  "components.py": "53c94e84f5ffe64b2a2e30a4f8eafcb230b74c5fc9bb3ab6ef56b06b1eb01de8",
  "composite.py": "98bce6d4ce43f106bbcb08121470328eb6f791aa8f959b08f8515cdd6bf731a3",
  "run_pipeline.py": "833e534131acb0232ef34d747cd41ff113639895f3635a3142949d5249b690b2"
 },
 "sources": {
  "yahoo_GSPC": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/GSPC",
   "file": "yahoo_GSPC.json",
   "sha256": "a4418f8c41f8df4d49568d7d48c4709309cceefa693fa057eca748f9633c9ee9",
   "retrieved_utc": "2026-07-18T07:10:27Z",
   "latest_observation_date": "2026-07-17",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_SPY": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/SPY",
   "file": "yahoo_SPY.json",
   "sha256": "12509919a9ca36975318c1daf683d35a3223cb10196edc2424cec78ce2b414e3",
   "retrieved_utc": "2026-08-04T10:30:09Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_QQQ": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/QQQ",
   "file": "yahoo_QQQ.json",
   "sha256": "2584ffcf0635c32ed911470b1abdfc71ad71a8bba0640e3eed1cbba3943d5fe7",
   "retrieved_utc": "2026-08-04T10:30:11Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_IWM": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/IWM",
   "file": "yahoo_IWM.json",
   "sha256": "3195a7b20063d6c475c6a325b11b7abec977680fd85b0bb857eb171e4928bd00",
   "retrieved_utc": "2026-08-04T10:30:12Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_EFA": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/EFA",
   "file": "yahoo_EFA.json",
   "sha256": "ac34a4d184d918bf6ec8017edc81c7622ee7437d1f1f6a81137f9772393eb1ff",
   "retrieved_utc": "2026-08-04T10:30:14Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_EEM": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/EEM",
   "file": "yahoo_EEM.json",
   "sha256": "bc1ea9da7abb5df3f8b60a505b60022aeb885e14e99ef3e18aa07751dae75325",
   "retrieved_utc": "2026-08-04T10:30:15Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_TLT": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/TLT",
   "file": "yahoo_TLT.json",
   "sha256": "aa95ec2f0ed613840847d2884c901fb065f207e86bca2f6de4d59d95f1febd1d",
   "retrieved_utc": "2026-08-04T10:30:17Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_IEF": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/IEF",
   "file": "yahoo_IEF.json",
   "sha256": "9d94ceea23b404097a89b2b86817527c73f743aa2c4af4a2136a68b3c324486a",
   "retrieved_utc": "2026-08-04T10:30:18Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_GLD": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/GLD",
   "file": "yahoo_GLD.json",
   "sha256": "57e81f1befd256adf6c47e1fadfba555fe5f447f4ccb14f18a2fae342aa69af8",
   "retrieved_utc": "2026-08-04T10:30:20Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_VIX": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/VIX",
   "file": "yahoo_VIX.json",
   "sha256": "cbc0557e09a0036a9e427b2a274dd7bf58ca5da59644836e20333d24cee84ff0",
   "retrieved_utc": "2026-07-18T07:10:36Z",
   "latest_observation_date": "2026-07-17",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "yahoo_QAI": {
   "type": "market_data",
   "source": "Yahoo Finance chart API",
   "url": "https://query1.finance.yahoo.com/v8/finance/chart/QAI",
   "file": "yahoo_QAI.json",
   "sha256": "2824621917824f30b3a3a55f00615bb7ff370de1dc17603daa175177e02a12a0",
   "retrieved_utc": "2026-08-04T10:30:23Z",
   "latest_observation_date": "2026-08-03",
   "availability_rule": "daily close, available same day after market close",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "cftc_cot_tff": {
   "type": "positioning_report",
   "source": "CFTC Commitments of Traders (Traders in Financial Futures)",
   "url": "https://www.cftc.gov/MarketReports/CommitmentsofTraders/HistoricalCompressed/index.htm",
   "file": "cftc_tff_2026.zip",
   "sha256": "71b2a15e4ba55fd6d20e57555cf8499dc46edfa95578bd0fb3b56aea27fb42f4",
   "retrieved_utc": "2026-07-18T07:10:23Z",
   "latest_observation_date": "2026-07-14",
   "availability_rule": "reference date Tuesday; published following Friday ~15:30 ET; used at Friday close of the week AFTER the reference Tuesday",
   "timezone": "America/New_York",
   "freshness": "ok"
  },
  "naaim_exposure": {
   "type": "survey",
   "source": "NAAIM Exposure Index (National Association of Active Investment Managers)",
   "url": "https://www.naaim.org/programs/naaim-exposure-index/",
   "file": "naaim_2026-07-29.xlsx",
   "sha256": "142168c79e3f052db976cbf78b08c872d181963af62ca6054608a1f170beae6c",
   "retrieved_utc": "2026-07-31T10:35:06Z",
   "latest_observation_date": "2026-07-29",
   "availability_rule": "weekly survey published mid-week; latest published value used at Friday close",
   "timezone": "America/New_York",
   "freshness": "ok"
  }
 }
}