SSM-Audit — Appendices: Kits, Templates, Verifiers (7.1–7.10)

Purpose: a compact, copy-ready appendix you can paste into your repo/wiki. It keeps classical numbers intact (phi((m,a)) = m) and gives teams everything except the CLI script (next page).


7.1 Quick-start folder (drop-in)

ssm-audit/
  data/
    pilot.csv                  # time,kpi,m,a,band,knobs_hash,build_id,stamp
  manifests/
    SSM_AUDIT_MANIFEST.ini     # ASCII contract beside data
  verify/
    verifier_pseudocode.txt    # one-screen checks (C1..C16)
    conformance_checklist.txt  # quick sheet
  notes/
    acceptance_note.txt        # pilot sign-off
    change_log.txt             # semver-style deltas
  tools/
    fuse_rapidity.md           # U/W + atanh/tanh
    lanes_library.md           # coverage, agreement, residual, blends
    bands_hysteresis.md        # thresholds + state machine
    stamps_spec.md             # SSMCLOCK1 + chain

7.2 CSV template (paste & fill)

Columns (exact): time,kpi,m,a,band,knobs_hash,build_id,stamp
time ISO-8601; kpi snake_case; m classical; a∈(-1,+1); band∈{A++,A+,A0,A-,A--}

time,kpi,m,a,band,knobs_hash,build_id,stamp
2025-10-01,AR_collected_issued,0.9600,0.8400,A++,<knobshash>,pilotW1,"SSMCLOCK1|2025-10-01T23:59:59Z|2|123.4|<sha256>|<chain>"
2025-10-01,Refunds_agreement,0.0200,0.6640,A+,<knobshash>,pilotW1,"SSMCLOCK1|2025-10-01T23:59:59Z|2|123.4|<sha256>|<chain>"

Optional display-only fields: Z,A,Delta,Q,SyZ,U,W.

7.3 Manifest template (ASCII, v1.0)

[SSM_AUDIT_MANIFEST]
version = 1.0
build_id = pilotW1
date_utc = 2025-10-01

# Numerics + fusion
eps_a = 1e-6
eps_w = 1e-12
gamma = 1.0
division_policy = strict

# Bands + hysteresis
bands = {A++=0.75, A+=0.50, A0=0.25, A-=0.10, A--=-inf}
hysteresis = {promote=0.05, demote=-0.05}

# Mappings (fixed during pilot)
mappings = {
  AR: coverage(window=30d, tail_weight=0.5),
  Refunds: agreement(b=0.005),
  Forecast: residual(k=1.2, s=<rolling_MAD>)
}

# Optional guardrails
ccy_base = USD
fx_source = <provider>         ; fx_time = 2025-10-01T00:00:00Z
index_source = <CPI_series>    ; index_time = 2025-10-01T00:00:00Z
k_fx = 0.0
g_macro_policy = none
privacy_mode = aggregate_only

# Fingerprint
conformance_checksum = <hex>
# knobs_hash := sha256(canonical_json(manifest_minus_conformance_checksum))

7.4 Verifier (C1..C16 on one screen)

  • C1 Clamp safety: clamp a to (-1,+1) with eps_a.
  • C2 Collapse parity: phi((m,a)) = m byte-stable.
  • C3 Band parity: band == band_from_a(a).
  • C4 Order invariance: batch == stream == shuffled (≤ eps_num).
  • C5 Ratio parity: pre-join vs post-join ratio lanes match.
  • C6 Rollup parity: nested == flat fuse.
  • C7 Deterministic export: rerun identical.
  • C8 Knobs fingerprint: knobs_hash recomputes and flips when knobs change.
  • C9 Chain continuity (if stamps): chain_k recomputes.
  • C10 Day anchor (if stamps): rollup_D recomputes.
  • C11 Hysteresis sanity: promotions/demotions respect gates.
  • C12 Alert calmness (optional): within policy budget.
  • C13 FX parity (if used): phi((m_fx_norm,a)) = m_fx_norm; a bounded.
  • C14 Indexation guard: bounded a; macro gate documented.
  • C15 Band monotonicity: tiny a noise can’t flip band.
  • C16 Replay determinism: compress/decompress still identical hashes.

7.5 Band + hysteresis (drop-in)

SCORE = {"A--":1,"A-":2,"A0":3,"A+":4,"A++":5}
def band_from_a(a):
    return "A++" if a>=0.75 else "A+" if a>=0.50 else "A0" if a>=0.25 else "A-" if a>=0.10 else "A--"
def next_band(prev_band, a_prev, a_now, promote=0.05, demote=-0.05):
    raw = band_from_a(a_now); d = a_now - (a_prev if a_prev is not None else a_now)
    if SCORE[raw] > SCORE.get(prev_band, SCORE[raw]) and d >= promote: return raw
    if SCORE[raw] < SCORE.get(prev_band, SCORE[raw]) and d <= demote:  return raw
    return prev_band or raw

7.6 Conformance checklist (quick sheet)

C1 Clamp • C2 Collapse • C3 Band • C4 Order • C5 Ratio • C6 Rollup • C7 Determinism • C8 Knobs • C9 Chain • C10 Day anchor • C11 Hysteresis • C12 Alert budget • C13 FX parity • C14 Indexation • C15 Band monotone • C16 Replay.

7.7 Stamps (ASCII)

Line: SSMCLOCK1|iso_utc|rasi_idx|theta_deg|sha256(file)|chain
Chain: chain_0="0"*64; chain_k=sha256(chain_{k-1}+"|"+stamp_core_k)
Day anchor: rollup_D=sha256(Stamp_1|"..."|Stamp_n)
Stamps never alter m.

7.8 Pilot acceptance (fill-in)

[SSM_AUDIT_ACCEPTANCE]
org=<name>   date_utc=<YYYY-MM-DD>   build_id=<id>
scope=[AR_collected_issued, Refunds_agreement, Revenue_actual]
manifest_version=1.0   knobs_hash=<hex>
parity_m=PASS   order_invariance=PASS   stamps=ENABLED|DISABLED
band_results={...}   caught_early=[{kpi:..., first_drop:..., action:..., outcome:...}]
exceptions=[none|list]   sign_off={finance_owner:..., data_owner:..., internal_audit:...}

7.9 Change log (semver discipline)

[SSM_AUDIT_CHANGELOG]
version_from=1.0  version_to=1.0
build_id_from=pilotW1  build_id_to=pilotW2
date_utc=2025-10-15
changes=[{"mappings":"Forecast k:1.2->1.3"}, {"ci":"added C12"}]
knobs_hash_from=<hex>  knobs_hash_to=<hex>
backfill_policy=none|full|window:<dates>  owner=<name>

7.10 Glossary (one-liners)

(m,a) two-lane numeral • phi((m,a))=m collapse parity • Band A++..A– • Hysteresis promote/demote gates • Fuse tanh(Σ w·atanh(a)/max(Σ w,eps_w))knobs_hash manifest fingerprint • Stamp ASCII provenance • Rapidity u:=atanh(a)Z,A,Delta,SyZ entropy canonicals (optional) • a_sdi portfolio tanh-mean • ccy_base/index_source economics lens; a unchanged.


Navigation
Previous: SSM-Audit – Economics (6.1–6.8)
Next: SSM-Audit – Mini Calculator (CLI) — Full Script (7.11)


Directory of Pages
SSM-Audit – Table of Contents