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 by grok.

    Independent review: cursor

    Gates (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.