Calculation catalog › Cash flow and summary

Spending ideal requested annual

Ideal lifestyle spending requested for the projection year.

Field: idealSpending Unit: US dollars Basis: nominal dollars Computed by: Engine Status: Complete chain

Appears in: csv (idealSpending)

Calculation records

  • Annual ideal-layer requested spending Composition record, justified by derivation

    Purpose: The incremental ideal layer above target spending.

    Statement: projection/internal/annualExpenseSummary.ts#annualExpenseSummary publishes YearExpenses.idealSpending as idealSpendingBase + skippedIdealNominal, with idealSpendingBase = idealLifestyle + idealGoalsFunded. It is an increment, not a cumulative summary, so the identity the worksheet derives from the field comments holds exactly: idealSpending = intendedSpending - targetSpending - excessSpending, because intendedSpending adds the target base, the ideal base, the excess base and all four skipped amounts while targetSpending carries the target base with the target and required skips and excessSpending carries the excess base with the excess skip. Units: nominal USD per year. Rounding: none.

    Formula: idealSpending = idealLifestyle + idealGoalsFunded + skippedIdealNominal = intendedSpending - targetSpending - excessSpending

    • idealLifestyle: Annual ideal lifestyle layer above target (unit: usd/year) (domain: nonnegative)
    • idealGoalsFunded: Ideal-classified goals funded this year (unit: usd/year) (domain: nonnegative)
    • skippedIdealNominal: Nominal amount of ideal-classified goals the scheduler skipped (unit: usd/year) (domain: nonnegative)

    Timing: once per projection year, at the expense summary

    Rounding: none

    Limits:

    • Asserted at the annualExpenseSummary seam, which is the function that computes all five layer fields at once, because the worksheet states its inputs as published year-row components. The seam call is given inputs that realize the worksheet's stated requiredSpending, targetSpending, excessSpending and intendedSpending exactly, and the published idealSpending is then read
    • The identity is asserted against the same call's other published fields, not against re-entered constants, so the subtraction is evidence about this year row rather than about the worksheet's arithmetic
    • Ideal is an increment above target; treating it as the cumulative amount through the ideal layer is one of the worksheet's wrong readings

    Provenance: derived by codex, implemented by claude.

    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: spending-ideal-requested-annual.md Mutation receipt: spending-ideal-requested-annual.mutation.md

    Evidence tests: annualExpenseSummary.evidence.test.ts

    Implemented in: annualExpenseSummary.ts

    Is the number of: spending-ideal-requested-annual

    Feeds: display-upside-spending-annual

Engine source: engine/src/projection/internal/types/result.ts (YearResult.expenses.idealSpending)

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.