Skip to content

KB/signal

Health score

Last verified

Auto-generated. This article is rebuilt from app/signals/config/signal_definitions.json by scripts/build_signals_kb.py. Edit the registry entry and re-run the script β€” do not edit this file directly.

Health score

What it is

Health score β€” registry key health_score.

Daily-signals column exposed for sparkline charts; raw value, no classification bands.

Data-pyramid tier

T3 β€” Lens. This metric sits at the lens layer of the platform’s six-tier data pyramid (T0 raw inputs β†’ T5 actionable read). The tier reflects how far the value is from a raw measurement β€” not how strongly it is validated. Abstraction and validation are separate axes: a higher tier is not a claim of stronger evidence.

Horizon & validation

Horizon: COINCIDENT β€” a state read, not a forecast.

State read, NOT a forecast - lead rho ~ 0 at every horizon (horizon_skill_map.md). Coincident thermometer: how healthy is the tape right now.

Source

Source module: capture
Data source: computed

Derived metric β€” produced inside the platform (app/signals/capture.py or equivalent) rather than fetched as a raw upstream value. See the How it's computed section below for the formula.

How it’s computed

Weighted sum of 18 component scores: sum(component_score Γ— component_weight) where component_weights live in app/signals/config/score_weights.json and regime_overrides may rescale them. Range 0–100 nominal. See app/signals/regime.py:compute_health_score and app/signals/score.py:compute_score_components.

Where it surfaces

Health-score / alignment role

Data carrier β€” no implication, no health-score contribution.

Persisted for downstream consumers (sparklines, base-rate matcher, calibration substrate) but does not classify into BULLISH / NEUTRAL / BEARISH and does not contribute to the 0-100 health score.

Release cadence

See also