{
  "article": {
    "official_admission": false,
    "required_headings": [
      "Summary",
      "Source",
      "What the source claims",
      "Rules actually disclosed",
      "What had to be inferred",
      "Research questions",
      "Data",
      "Baseline implementation",
      "What the signal looks like",
      "Historical events",
      "State-space exploration",
      "Parameter sensitivity",
      "What worked",
      "What did not work",
      "Why the failures appear to happen",
      "Regime behavior",
      "Timing and cost sensitivity",
      "Combinations",
      "Candidate frontier",
      "Agent assessment",
      "Limitations",
      "What to try interactively",
      "Suggested next research",
      "Promotion status",
      "Trial ledger",
      "Validation protocol",
      "Portfolio contribution"
    ],
    "research_tags": [
      "data_limited",
      "fidelity_mismatch",
      "parameter_sensitive",
      "needs_more_research",
      "candidate_for_confirmation"
    ],
    "sections": {
      "Baseline implementation": {
        "claim_kind": "inferred_best_guess",
        "classification": "exploratory inferred public proxy; not native BMS",
        "count_threshold": 4,
        "family": "equal_weight",
        "id": "bms-equal-weight-lb12-lag1-t0",
        "lag_bars": 1,
        "lookback_months": 12,
        "metrics": {
          "annualized_return": 0.09224547648032244,
          "benchmark_total_return": 11.474840284216487,
          "end": "2026-07-31",
          "max_drawdown": -0.26728330712768733,
          "observations": 287,
          "start": "2002-09-30",
          "total_return": 7.250737302110341
        },
        "source_fidelity": false,
        "threshold": 0.0
      },
      "Candidate frontier": [
        {
          "category": "simplest_reasonable",
          "reason": "Transparent equal-weight best guess with one available-bar lag; not native BMS.",
          "variant_id": "bms-equal-weight-lb12-lag1-t0"
        },
        {
          "category": "most_stable",
          "reason": "Extra lag reduces timing assumptions; remains a proxy overlay.",
          "variant_id": "bms-equal-weight-lb12-lag2-t0"
        },
        {
          "category": "best_long_history",
          "reason": "Technical family is a sensitivity, not a disclosed BMS state.",
          "variant_id": "bms-technical-lb12-lag1-t0"
        }
      ],
      "Data": {
        "database": "data/market.sqlite",
        "database_access": "read-only query_only",
        "native_span": "No continuous BMS signal span; proxy overlap is reported in lab-series.",
        "private_data": false,
        "proxy_chain": [
          "SPY",
          "IEF",
          "BIL",
          "EFA",
          "^VIX",
          "INDPRO",
          "UNRATE"
        ],
        "publication_lag": "Unknown native release lag; one available month is declared for proxy candidates.",
        "source_fetched_at": "2026-08-22T23:48:19Z",
        "source_sha256": "sha256:10b2985e4d23ae06f1011ff5fb80bcef8e25adcd227910ac71e82cb8079da60a",
        "source_url": "https://recessionalert.com/bull-tracker/"
      },
      "Limitations": [
        "Source has no machine-readable BMS state or complete component series.",
        "Proxy components are inferred and not native RecessionAlert inputs.",
        "Underlying release timestamps, vintages, revision policy, and publication clock are unknown.",
        "SPY/IEF overlay, count thresholds, lookbacks, and holding semantics are research assumptions.",
        "No BUY/SELL, exit, re-entry, target allocation, or official indicator admission is supported.",
        "Lag-zero is a non-causal control only.",
        "Results are descriptive exploratory evidence and not investment advice."
      ],
      "Portfolio contribution": {},
      "Promotion status": "Not promoted \u2014 Research Library only.",
      "Research questions": [
        "Can transparent public proxies test the eight Bull Market Safari observations without claiming native source fidelity?"
      ],
      "Rules actually disclosed": [
        "The article names eight bullish-context observations across labor, earnings, global leading data, 200-day technicals, breadth, WLEI, a probability model, and CMHI; it says bearish data outweighs bullish data 2:1.",
        "No common score, state machine, BUY/SELL, re-entry, target, or release ledger is disclosed."
      ],
      "Source": {
        "fetched_at": "2026-08-22T23:48:19Z",
        "native_span": "Narrative observations only; no continuous BMS series.",
        "published_at": "2023-05-22T17:53:36-0400",
        "sha256": "sha256:10b2985e4d23ae06f1011ff5fb80bcef8e25adcd227910ac71e82cb8079da60a",
        "title": "Bull Market Safari | RecessionAlert",
        "url": "https://recessionalert.com/bull-tracker/"
      },
      "Suggested next research": [
        "Obtain source-linked component series and point-in-time vintages under separate authorization.",
        "Identify BMS aggregation, release, re-entry, and portfolio execution semantics.",
        "Replace synthetic breadth stand-ins with reproducible constituent breadth only when authorized."
      ],
      "Summary": [
        "Seven inferred/proxy variants execute over the longest checked-in SPY/IEF overlap, while the original source-faithful finding remains insufficient_evidence."
      ],
      "Trial ledger": [
        {
          "decision": "insufficient_evidence",
          "iteration": 1,
          "status": "published",
          "variants": [
            "bms-equal-weight-lb12-lag1-t0",
            "bms-equal-weight-lb6-lag1-t0",
            "bms-equal-weight-lb21-lag1-tneg05",
            "bms-equal-weight-lb12-lag2-t0",
            "bms-equal-weight-lb12-lag1-tneg05",
            "bms-technical-lb12-lag1-t0",
            "bms-equal-weight-lb12-lag0-control"
          ]
        }
      ],
      "Validation protocol": {},
      "What had to be inferred": [
        "This campaign tests equal-weight, technical, lookback, threshold, and lag neighbors using checked-in SPY/EFA/^VIX/INDPRO/UNRATE proxies.",
        "One available monthly bar of lag is the causal default; lag-zero is retained only as a research control."
      ],
      "What the source claims": [
        "The article names eight bullish-context observations across labor, earnings, global leading data, 200-day technicals, breadth, WLEI, a probability model, and CMHI; it says bearish data outweighs bullish data 2:1.",
        "No common score, state machine, BUY/SELL, re-entry, target, or release ledger is disclosed.",
        "This campaign tests equal-weight, technical, lookback, threshold, and lag neighbors using checked-in SPY/EFA/^VIX/INDPRO/UNRATE proxies.",
        "One available monthly bar of lag is the causal default; lag-zero is retained only as a research control."
      ],
      "What to try interactively": [
        {
          "name": "lookback_months",
          "values": [
            6,
            12,
            21
          ]
        },
        {
          "name": "threshold",
          "values": [
            -0.05,
            0.0
          ]
        },
        {
          "name": "lag_bars",
          "values": [
            0,
            1,
            2
          ]
        }
      ]
    },
    "title": "RecessionAlert Bull Market Safari \u2014 inferred public-proxy campaign"
  },
  "campaign": {
    "campaign_id": "recessionalert-bull-market-safari-1362",
    "iteration_number": 1,
    "research_tags": [
      "data_limited",
      "fidelity_mismatch",
      "parameter_sensitive",
      "needs_more_research",
      "candidate_for_confirmation"
    ],
    "status": "published",
    "title": "RecessionAlert Bull Market Safari \u2014 inferred public-proxy campaign"
  },
  "candidate_frontier": [
    {
      "category": "simplest_reasonable",
      "reason": "Transparent equal-weight best guess with one available-bar lag; not native BMS.",
      "variant_id": "bms-equal-weight-lb12-lag1-t0"
    },
    {
      "category": "most_stable",
      "reason": "Extra lag reduces timing assumptions; remains a proxy overlay.",
      "variant_id": "bms-equal-weight-lb12-lag2-t0"
    },
    {
      "category": "best_long_history",
      "reason": "Technical family is a sensitivity, not a disclosed BMS state.",
      "variant_id": "bms-technical-lb12-lag1-t0"
    }
  ],
  "candidate_variants": [
    {
      "claim_kind": "inferred_best_guess",
      "classification": "exploratory inferred public proxy; not native BMS",
      "count_threshold": 4,
      "family": "equal_weight",
      "id": "bms-equal-weight-lb12-lag1-t0",
      "lag_bars": 1,
      "lookback_months": 12,
      "metrics": {
        "annualized_return": 0.09224547648032244,
        "benchmark_total_return": 11.474840284216487,
        "end": "2026-07-31",
        "max_drawdown": -0.26728330712768733,
        "observations": 287,
        "start": "2002-09-30",
        "total_return": 7.250737302110341
      },
      "source_fidelity": false,
      "threshold": 0.0
    },
    {
      "claim_kind": "inferred_nearby_variant",
      "classification": "exploratory inferred public proxy; not native BMS",
      "count_threshold": 4,
      "family": "equal_weight",
      "id": "bms-equal-weight-lb6-lag1-t0",
      "lag_bars": 1,
      "lookback_months": 6,
      "metrics": {
        "annualized_return": 0.10038882506206437,
        "benchmark_total_return": 11.559692430088234,
        "end": "2026-07-31",
        "max_drawdown": -0.23380977467165565,
        "observations": 288,
        "start": "2002-08-31",
        "total_return": 8.933633000283145
      },
      "source_fidelity": false,
      "threshold": 0.0
    },
    {
      "claim_kind": "inferred_nearby_variant",
      "classification": "exploratory inferred public proxy; not native BMS",
      "count_threshold": 4,
      "family": "equal_weight",
      "id": "bms-equal-weight-lb21-lag1-tneg05",
      "lag_bars": 1,
      "lookback_months": 21,
      "metrics": {
        "annualized_return": 0.10777390458851444,
        "benchmark_total_return": 10.65242406445605,
        "end": "2026-07-31",
        "max_drawdown": -0.25426122409378304,
        "observations": 278,
        "start": "2003-06-30",
        "total_return": 9.709877944269843
      },
      "source_fidelity": false,
      "threshold": -0.05
    },
    {
      "claim_kind": "inferred_nearby_variant",
      "classification": "exploratory inferred public proxy; not native BMS",
      "count_threshold": 4,
      "family": "equal_weight",
      "id": "bms-equal-weight-lb12-lag2-t0",
      "lag_bars": 2,
      "lookback_months": 12,
      "metrics": {
        "annualized_return": 0.09406204225722425,
        "benchmark_total_return": 12.936076061973793,
        "end": "2026-07-31",
        "max_drawdown": -0.2563468288959485,
        "observations": 286,
        "start": "2002-10-31",
        "total_return": 7.521181699860795
      },
      "source_fidelity": false,
      "threshold": 0.0
    },
    {
      "claim_kind": "inferred_nearby_variant",
      "classification": "exploratory inferred public proxy; not native BMS",
      "count_threshold": 4,
      "family": "equal_weight",
      "id": "bms-equal-weight-lb12-lag1-tneg05",
      "lag_bars": 1,
      "lookback_months": 12,
      "metrics": {
        "annualized_return": 0.10787421870234781,
        "benchmark_total_return": 11.474840284216487,
        "end": "2026-07-31",
        "max_drawdown": -0.25809768617829953,
        "observations": 287,
        "start": "2002-09-30",
        "total_return": 10.589465497918402
      },
      "source_fidelity": false,
      "threshold": -0.05
    },
    {
      "claim_kind": "inferred_family_variant",
      "classification": "exploratory inferred public proxy; not native BMS",
      "count_threshold": 2,
      "family": "technical",
      "id": "bms-technical-lb12-lag1-t0",
      "lag_bars": 1,
      "lookback_months": 12,
      "metrics": {
        "annualized_return": 0.10678824808389553,
        "benchmark_total_return": 11.559692430088234,
        "end": "2026-07-31",
        "max_drawdown": -0.1965119789645804,
        "observations": 288,
        "start": "2002-08-31",
        "total_return": 10.416919512253271
      },
      "source_fidelity": false,
      "threshold": 0.0
    },
    {
      "claim_kind": "control_only",
      "classification": "exploratory inferred public proxy; not native BMS",
      "count_threshold": 4,
      "family": "equal_weight",
      "id": "bms-equal-weight-lb12-lag0-control",
      "lag_bars": 0,
      "lookback_months": 12,
      "metrics": {
        "annualized_return": 0.14949140894530677,
        "benchmark_total_return": 11.559692430088234,
        "end": "2026-07-31",
        "max_drawdown": -0.19336384497374526,
        "observations": 288,
        "start": "2002-08-31",
        "total_return": 27.322886698444897
      },
      "source_fidelity": false,
      "threshold": 0.0
    }
  ],
  "event_tables": [],
  "evidence": {},
  "execution_assumptions": {},
  "interactive_specs": [
    {
      "name": "lookback_months",
      "values": [
        6,
        12,
        21
      ]
    },
    {
      "name": "threshold",
      "values": [
        -0.05,
        0.0
      ]
    },
    {
      "name": "lag_bars",
      "values": [
        0,
        1,
        2
      ]
    }
  ],
  "limitations": [
    "Source has no machine-readable BMS state or complete component series.",
    "Proxy components are inferred and not native RecessionAlert inputs.",
    "Underlying release timestamps, vintages, revision policy, and publication clock are unknown.",
    "SPY/IEF overlay, count thresholds, lookbacks, and holding semantics are research assumptions.",
    "No BUY/SELL, exit, re-entry, target allocation, or official indicator admission is supported.",
    "Lag-zero is a non-causal control only.",
    "Results are descriptive exploratory evidence and not investment advice."
  ],
  "parameter_grids": [],
  "provenance": {
    "database": "data/market.sqlite",
    "database_access": "read-only query_only",
    "native_span": "No continuous BMS signal span; proxy overlap is reported in lab-series.",
    "private_data": false,
    "proxy_chain": [
      "SPY",
      "IEF",
      "BIL",
      "EFA",
      "^VIX",
      "INDPRO",
      "UNRATE"
    ],
    "publication_lag": "Unknown native release lag; one available month is declared for proxy candidates.",
    "source_fetched_at": "2026-08-22T23:48:19Z",
    "source_sha256": "sha256:10b2985e4d23ae06f1011ff5fb80bcef8e25adcd227910ac71e82cb8079da60a",
    "source_url": "https://recessionalert.com/bull-tracker/"
  },
  "regime_tables": [],
  "schema_version": "research-publication/v1",
  "series": {
    "availability": "unavailable",
    "dates": [],
    "reason": "No reproducible underlying price and signal-input series are published for this expression."
  },
  "signals": {
    "spec": null,
    "specs": []
  },
  "trial_ledger": []
}
