Objective
Move the configurable indicator strategy chart out of Other / Indicators into a dedicated Playground page while preserving the published indicator catalogs and providing basic market signal choices.
Approach
- Added Playground to the primary site navigation, Home routing, legacy Signals redirect, and generated static page shells.
- Merged all published AllocateSmartly monthly risk-off indicators and Other daily signals into a namespaced daily catalog.
- Added close above/below 50-day and 200-day SMA events, 50/200 golden/death cross events, and a 3x Wilder ATR(14) trailing stop using published SPY high/low data with a close-only fallback.
- Preserved independent buy/sell multi-select groups, AND/OR aggregation, sell precedence, one-bar lag, source-colored markers, diagnostic series, and comparative strategy statistics.
- Removed the interactive builder from Other / Indicators; its published cards remain available as the catalog source.
Files changed
research/reports/nav.pyresearch/reports/home_publish.pyresearch/reports/section_pages.pyresearch/reports/templates/pages/playground.html.j2research/reports/templates/pages/indicators.html.j2research/reports/signals_publish.pyresearch/risk_signals_history.pydocs/assets/js/site.jsdocs/assets/css/site.cssdocs/playground.htmldocs/other-indicators.htmldocs/site-data/signals/history.jsontests/test_signals_page.pytests/test_site_ia.pytests/test_risk_signals_history.pytests/test_risk_off_dashboard_browser.py
Validation
python3 -m pytest -q tests/test_signals_page.py tests/test_site_ia.py tests/test_risk_signals_history.py tests/test_home_dashboard.py --tb=short— 48 passed.python3 -m pytest -q tests/test_risk_off_dashboard_browser.py --tb=short— 5 passed.node --check docs/assets/js/site.js && node --check docs/assets/js/charts.js— passed.python3 research/scripts/check_static_reports.py docs— 1,455 files and 183 canary routes valid.python3 -m research.artifacts check --mode full --offline— deterministic shared artifacts current after rebuild.- Browser smoke on the actual local Playground loaded 40 choices, rendered three charts, observed all 40 distinct catalog colors, and displayed source-labeled marker datasets plus comparative Strategy/S&P statistics after selecting AllocateSmartly, Other, ATR, and crossover signals.