Calculation catalog › Insights
Insight spending guardrails illustrative floor
Required spending floor the guardrail preview uses: the plan's requiredAnnual when set, otherwise 80% of base spending generated by probabilityBandSpendingGuardrailGenerator.
Field: Illustrative guardrail spending floor Unit: US dollars Basis: nominal dollars Computed by: Engine Status: Complete chain
Appears in: insights (spending-guardrails card rationale "with a $X required floor")
Calculation records
-
Illustrative (or explicit) required spending floor for a guardrail preview Model record, justified by derivation
Purpose: The required annual floor the spending-guardrails card previews: the plan's own requiredAnnual when set, otherwise 80% of base spending.
Statement: For a plan that depletes or whose first-year investable balance is strictly greater than $100,000, and that does not already run a guardrail policy: requiredAnnual = the plan's explicit requiredAnnual when that field is a finite number, otherwise 80% of baseAnnual (the probability-band generator's default floor, then min'd with baseAnnual). Units: nominal dollars per year. Rounding: the generator rounds the 80% fallback with Math.round.
Formula:
floor = min(requiredAnnual ?? round(0.80 × baseAnnual), baseAnnual)-
baseAnnual: Plan baseline annual spending (unit: usd/year) (domain: > 0) -
requiredAnnual: Plan-supplied essential floor, when present (unit: usd/year) (domain: finite, or absent)
Timing: illustration at the first projection year
Rounding: Math.round on the 80% fallback; an explicit floor is used as supplied; the card publishes whole-dollar strings (formatWholeUsd, Math.round) and the evidence asserts the published figure
Limits:
- A guardrail preview, not a claim that 80% is an objectively required household budget
- The generator also min's the floor with baseAnnual, so an explicit floor above base spending is capped; the worksheet's explicit case is below base and does not hit that cap
- The screen alternatives are joined by OR: depletion is sufficient at any balance; a non-depleting plan at exactly $100,000 does not screen because the investable comparison is strict
Provenance: derived by
codex, implemented bygrok.Independent review:
cursorGates (6 of 6 pass): fixture registers a test: pass; pins resolve: pass; families exist: pass; worksheet exists: pass; mutation receipt exists: pass; provenance independent: pass
Worksheet: insight-spending-guardrails-illustrative-floor.md Mutation receipt: insight-spending-guardrails-illustrative-floor.mutation.md
Evidence tests: spendingGuardrails.evidence.test.ts
Implemented in: spendingGuardrails.ts
Is the number of: insight-spending-guardrails-illustrative-floor
-
Engine source: engine/src/insights/detectors/spendingGuardrails.ts
(spendingGuardrails.screen (requiredAnnual from guardrailPatchFromGenerator))
The evidence links on this page (each record's worksheet, mutation receipt, evidence tests
and implementation, and the source links) are pinned to engine commit
2624dbdba9fd, committed 2026-10-11.
The live calculation index and
output-family census links point at the repository's main
branch, so you can check this snapshot against them.