Objective
Independently replicate the distinct RecessionAlert inventory row Bull Market Safari | RecessionAlert from the checked-in canonical snapshot at data/recessionalert.sqlite, without live-site requests, credential use, private account data, or crawl-database mutation.
Approach
The primary input is the manifest-selected page body opened read-only from data/recessionalert.sqlite, cross-checked against research/findings/recessionalert_inventory.md and research/artifacts/recessionalert/manifest.json. The page digest is sha256:10b2985e4d23ae06f1011ff5fb80bcef8e25adcd227910ac71e82cb8079da60a; it is 96,394 bytes, HTTP 200, and fetched at 2026-08-22T23:48:19Z. The crawl log contains two same-URL page revisions, with the later digest selected. The target page has zero canonical asset rows.
The article exposes publication timestamp 2023-05-22T17:53:36-0400. The separate Excel Data page and linked research pages are related evidence only: the BMS page does not identify a workbook, sheet, column, source vintage, or component mapping for its eight observations. Related pages/workbooks are not silently substituted.
Disclosed rule and interpretation
The article is a qualitative list of eight observations that might support a new bull market in U.S. stocks:
- one positive factor within an eight-factor cyclically sensitive labor composite;
- a positive earnings-estimate sighting, given less weight than hard data;
- a rising percentage of OECD countries with rising leading indicators, with a warning that revisions near turning points require at least three months of confirmation and two further months of observation;
- more than six weeks with the S&P 500 above its 200-day moving average and an upturn in that average, alongside a cited 20-of-20 historical result and 18% average gain;
- a classic Zweig Breadth Thrust observation on 2023-03-31 and a more useful Reduxed ZBT-A observation in early October 2022;
- a WLEI bottoming and nearing a move above water while the Weekly SuperIndex and most monthly leading data had not followed;
- Gen2 S&P 500 correction/rally probabilities from a 25-year daily OHLC history, with example bottom probabilities just under 80%, over 95%, and just under 90%; and
- CMHI recovery/stalling across seven described metric families.
The page explicitly says bearish data currently outweighs bullish data 2:1 and says the observations are added as they are seen. BMS is therefore bullish-context evidence only. The page does not disclose a BUY, SELL, risk-on, risk-off, re-entry, or dual-sided state, and no numeric example is treated as a trading threshold.
Native span, publication lag, and causal assumptions
The narrative references early October 2022, 2023-03-31, the article date 2023-05-22, a 25-year daily OHLC model history, and a 1928 moving-average study. These are contextual observations and lookbacks, not a continuous BMS signal span. The effective span is not computable because no source-linked component series or common state is pinned.
The article timestamp is the only source-visible publication boundary. The 1,188-calendar-day interval to the archive fetch is archival delay, not economic-data publication lag. Component release clocks, calculation cutoffs, timezones, vintages, and revision policies are unknown; the page specifically warns that OECD leading data can be revised near turning points.
Any future overlay must use point-in-time inputs and execute no earlier than the next available trading bar plus at least one additional available-bar lag. Same-close/lookahead execution is unsupported. Unknown or late inputs remain unavailable rather than imputed, carried forward, or treated as bullish/bearish.
Validation
Focused offline suite tests/test_recessionalert_bull_market_safari.py (7 passed) verifies source-body SHA agreement across SQLite, manifest, and inventory; both crawl revisions; all eight source observations; related-page separation; native/effective-span and publication-lag limits; all five history-maximization options; causal lag and unavailable-state policy; zero target-page asset rows; read-only database access; and absence of sensitive payload fields. The executed notebook research/experiments/1362.ipynb reproduces the hash and metadata assertions and renders a source-observation map without presenting it as a score.
No performance, subperiod stability, adjacent-parameter, false-signal, or market-outcome metric is claimed because the target series, aggregation rule, release vintages, and execution map are absent.
Results
Public evidence-gap report only. Machine-readable source record: research/findings/specs/recessionalert-bull-market-safari.json. Experiment manifest: research/experiments/1362.json. Decision: insufficient_evidence; registry action: not_registered; playable: false; current value: unavailable. The safe result is published under Other / Research rather than as a playable Other-indicators card. No raw HTML, image, chart, workbook, nonce-bearing URL, credential, cookie, or private account data is redistributed.
Explicit gaps
- No source-linked machine-readable series for any of the eight observations is attached to BMS.
- No common formula, aggregation weights, count threshold, precedence, persistence, reset, hysteresis, or missing-input encoding is disclosed.
- No BUY, SELL, risk-on, risk-off, re-entry, instrument, allocation, holding-period, exit, or cash rule is disclosed.
- Labor-composite construction, earnings-estimate source, OECD LEI constituents, WLEI series, Gen2 model construction, and CMHI formula are undisclosed or incomplete.
- The 200-day moving-average condition lacks exact price field, calendar, equality, confirmation, persistence, and execution semantics.
- ZBT Redux/A formula and thresholds are not disclosed on this page; the linked ZBT row remains distinct.
- No component release clock, point-in-time vintage history, or revision policy is available.
- No complete BMS native/effective span is computable.
- No authorized proxy, synthetic extension, constituent rebuild, third-party acquisition, or live refresh is available.
- No performance, false-signal, regime-stability, or outcome metric can be evaluated without target series and causal outcome windows.
Web plan and explicit exception
Web plan:
- canonical section: Other / Indicators, with this non-promoted result discoverable under the Other / Research library;
- supported access path: static generated experiment/result pages and repository spec/tests;
- browser evidence: generated evidence table and observation map, with no fabricated signal controls, current value, or overlay statistics;
- static/local boundary: public pages explain the disclosed context and limitations; local notebook/tests verify offline source binding;
- exception: a live/playable indicator UI would be misleading while source-linked component series, aggregation, release timing, current value, and execution map are absent. Reconsider only if an authorized source refresh supplies those inputs.