From “numbers + politics” to “numbers + declared stability + duty-of-care”
Problem → Fit
Problem. Cash logs and KPI tables don’t answer “Is this intake pattern stable?” Disputes live in spreadsheets, emails, and memory.
Fit. SSMDE attaches a bounded stability dial and a policy band with response windows to each finance event, then stamps it for replay.
The invariant math (portable to any ledger)
Use the bounded, order-invariant pipeline to compute the stability dial align (cash rhythm calm vs wobble):
a_c := clamp(a_raw, -1+eps_a, +1-eps_a)
u := atanh(a_c)
U += w * u
W += w
align := tanh( U / max(W, eps_w) )
Map align to a human band using published cutpoints (declared in the manifest):
band := band_from_align(align, manifest_id)
Collapse parity stays sacred:
phi((m,a)) = m
Finance totals remain byte-for-byte intact.
What the finance record looks like
Minimal (privacy-lean) and full (audit-ready) disclosure modes:
# minimal
{
value: { cash_collected_usd: 18420.77 },
band: "A-",
manifest_id: "FIN_Q4_CASH_STABILITY_vX"
}
# full
{
value: { cash_collected_usd: 18420.77, ar_open_usd: 902113.40 },
align: -0.31,
band: "A-",
manifest_id: "FIN_Q4_CASH_STABILITY_vX",
stamp: "SSMCLOCK1|2025-11-04T10:20:12Z|sha256=ab12d4...|prev=89c2aa..."
}
Example policy (cutpoints + response windows)
Declare once in the manifest; don’t change mid-quarter.
bands := [
{ name:"A++", range:"[+0.60, +1.00)", response:"observe" },
{ name:"A0", range:"[+0.10, +0.60)", response:"review weekly" },
{ name:"A-", range:"[-0.30, +0.10)", response:"controller review <= 24h" },
{ name:"CRITICAL", range:"(-1.00, -0.30)", response:"controller + CFO <= 2h" }
]
How to derive a_raw (finance intuition)
You control how raw “stability hints” enter the lane (documented in the manifest). Common starters:
# example choices (pick ONE per manifest; declare it)
a_raw := trend_zscore(cash_collected_daily) # deviation of daily intake vs seasonality
a_raw := atanh_clip(run_rate_convergence(signal)) # convergence of run rate to plan
a_raw := signed_dispersion(inflow_timing_jitter) # timing jitter of payers
a_raw := -loss_ratio_spike_normalized # invert risk spikes for consistent semantics
Then apply the invariant pipeline (clamp → atanh → fuse → tanh). The meaning of positive/negative must be stated:
semantics := "positive = calmer/healthier intake, negative = unstable/worsening"
CFO view: three copy-ready cards
Daily cash post (full mode)
{
value: { cash_collected_usd: 121_550.25, ar_open_usd: 5_210_000.00 },
align: +0.44,
band: "A0",
manifest_id: "FIN_Q4_CASH_STABILITY_vX",
stamp: "SSMCLOCK1|2025-11-04T17:59:00Z|sha256=7e91...|prev=cb30..."
}
Read it: intake healthy; weekly review; policy vX in force; replayable.
Early-warning wobble
{
value: { cash_collected_usd: 18_420.77 },
align: -0.31,
band: "A-",
manifest_id: "FIN_Q4_CASH_STABILITY_vX",
stamp: "SSMCLOCK1|2025-11-04T10:20:12Z|sha256=ab12d4...|prev=89c2aa..."
}
Action: controller review ≤24h (from manifest).
Escalation event
{
value: { cash_collected_usd: 6_201.10, ar_delinquent_30d_usd: 402_770.00 },
align: -0.55,
band: "CRITICAL",
manifest_id: "FIN_Q4_CASH_STABILITY_vX",
stamp: "SSMCLOCK1|2025-11-04T23:10:45Z|sha256=fe07...|prev=7a11..."
}
Action: controller + CFO ≤2h; stamped for audit/insurer.
Workflow (who does what)
Producer (Treasury/ETL)
[ ] Compute a_raw per declared method
[ ] Run invariant pipeline → align
[ ] Emit band via manifest cutpoints
[ ] Attach manifest_id and stamp
Consumer (CFO/Controllers)
[ ] Route by band (A-→queue; CRITICAL→page human)
[ ] Verify stamp chain on ingest
[ ] Track SLA on response windows from manifest
Receiver-side verification (defense against vendor drift)
[ ] -1 < align < +1
[ ] band == band_from_align(align, manifest_id)
[ ] stamp.sha256 == sha256(bytes(canonical(record)))
[ ] chain(prev) verifies end-to-end
[ ] phi((m,a)) = m # value untouched
Common pitfalls and fixes
Pitfall: “GREEN means OK everywhere.”
Fix: Keep semantics in the manifest; same label must map to declared numeric ranges and response windows.
Pitfall: Align computed with ad-hoc smoothing.
Fix: Only the bounded pipeline is normative. Any equivalent MUST preserve (-1,+1), order-invariance, and collapse parity.
Pitfall: Quietly tightening thresholds mid-incident.
Fix: That mints a new manifest_id. Stamps will expose the timeline.
Quick start (Day 1 → Day 30)
Day 1
emit {
value: { cash_collected_usd: <number> },
band: "<A++|A0|A-|CRITICAL>",
manifest_id: "<ID>"
}
Day 7
add align; begin stamping:
stamp := "SSMCLOCK1|<utc_iso>|sha256=<...>|prev=<...>"
Day 30
enforce SLA from bands; run weekly audit:
verify stamp chain; sample band replays vs manifest
One-line takeaway
Finance stops being numbers + politics and becomes numbers + declared stability + stamped duty-of-care—portable, replayable, and fair across teams and vendors.
Navigation
Previous: SSMDE – Domain Adapters overview (3.0)
Next: SSMDE – AI Routing and Escalation (3.2)
Directory of Pages
SSMDE – Table of Contents