SSM-AI – Bands (A++/A+/A0/A-/A–) & Thresholds (3.4)

Turn bounded alignment into crisp, portable decisions.

3.4 Bands (A++/A+/A0/A–/A–) and thresholds
Purpose. Convert continuous alignment into actionable, readable classes for routing, UI badges, policies, and dashboards—while numbers stay unchanged via phi((m,a)) = m. Bands apply to component lanes a and to the final chooser RSI.

Defaults (normative).

A++ : a >= +0.90
A+  : +0.60 <= a < +0.90
A0  : -0.60 <  a < +0.60
A-  : -0.90 <  a <= -0.60
A-- : a <= -0.90

Use the same table for RSI (recommended for decisions). Any override must be declared in the manifest.

Why bands (practical).
Instant read: A+ or A- is faster to interpret than decimals.
Stable routing: simple rules like retry only if RSI_env >= A+.
Comparable: fixed table ⇒ cross-model/vendor parity.
Auditable: logs carry both the scalar (a/RSI) and the band.

Which quantity to band.
Final decisions: band RSI or RSI_env.
Diagnostics: band intermediate a to expose weak links early.

Hysteresis (reduce flicker at edges).
Let h_up, h_dn > 0 be small (e.g., 0.02). For the A+ boundary at 0.60:

enter_A+ when x >= 0.60 + h_up
leave_A+ when x <  0.60 - h_dn

Apply similarly at 0.90, -0.60, -0.90.

Calm-gated bands.
When a gate is in use, band on RSI_env := g_t * RSI (or tanh(g_t*atanh(RSI)) if using u-scale mode). The gate scales alignment only; m is untouched and phi((m,a)) = m always holds.

Worked minis (calculator-fast).
RSI = 0.604368 → A+
RSI_env = 0.302184 → A0 (neutral; pause or defer)
a = -0.875 → A- (watch)
a = +0.915 → A++ (strong pass)

Traditional vs SSM-AI (decision thresholds).
Goal: enforce consistent, human-readable decision rules.
Traditional: bespoke cutoffs on raw, unbounded scores; hard to compare across teams/vendors.
SSM-AI: fixed bounded bands on RSI (and optionally RSI_env) → portable policies; m remains unchanged.

Pseudocode (drop-in).

def to_band(x):  # x in (-1,+1), e.g., a or RSI
    if x >= 0.90: return "A++"
    if x >= 0.60: return "A+"
    if x > -0.60: return "A0"
    if x > -0.90: return "A-"
    return "A--"

def to_band_hysteresis(x, prev_band, h_up=0.02, h_dn=0.02):
    if prev_band == "A++" and x >= 0.90 - h_dn: return "A++"
    if prev_band == "A+"  and (0.60 - h_dn) <= x < (0.90 + h_up): return "A+"
    if prev_band == "A0"  and (-0.60 - h_dn) < x < (0.60 + h_up): return "A0"
    if prev_band == "A-"  and (-0.90 - h_dn) < x <= (-0.60 + h_up): return "A-"
    if prev_band == "A--" and x <= -0.90 + h_up: return "A--"
    return to_band(x)

Manifest (keys to publish).

"bands": {
  "A++": 0.90, "A+": 0.60, "A0": -0.60, "A-": -0.90, "A--": -1.00,
  "hysteresis": { "h_up": 0.02, "h_dn": 0.02 },
  "band_on": "RSI_env"  # or "RSI" or "a"
}

QA checklist (pass/fail).
Boundary tests: exact values 0.90, 0.60, -0.60, -0.90 map as specified.
Monotonicity: if x1 < x2, band(x1) is not strictly better than band(x2).
Hysteresis: ramps respect stickiness; no flicker around ±0.60.
Gate awareness: band(RSI_env) shifts with g_t; m never changes.

One-line takeaway. Fixed, bounded bands turn alignment into simple, portable policies (A++ … A–) that everyone can read, route, and audit—while phi((m,a)) = m keeps numbers pristine.


Navigation
Previous: SSM-AI – Chooser — RSI (3.3)
Next: SSM-AI – Lens Calibration Quickstart (3.5)


Directory of Pages
SSM-AI — Table of Contents