Projection summary lifetime taxes and penalties
Total taxes and withdrawal penalties paid across all projection years.
Field: lifetimeTaxesAndPenalties Unit: US dollars Basis: nominal dollars Computed by: Engine Status: Complete chain
Appears in: results-headline (Lifetime tax + penalties); results-headline (KpiBar "Lifetime tax"); report (headline-results block lifetimeTaxesAndPenalties); scenarios-page (Headline "Lifetime tax plus penalties"); compare-page (Lifetime tax row levels, in today's (start-year) dollars when the two plans end in different years (PlanHeadlineComparison)); solver-page (Evidence lifetime taxes and SWR rule rows); ss-page (Survivor and claim tables lifetime tax); relocation-page (Lifetime tax + penalties column); mcp (run_projection.summary.lifetimeTaxesAndPenalties); mcp (compare_scenarios.a.lifetimeTaxesAndPenalties); mcp (compare_scenarios.b.lifetimeTaxesAndPenalties)
Calculation records
-
Projection summary lifetime taxes and penalties Composition record, justified by derivation
Purpose: Sum annual tax and annual penalties over the whole projection.
Statement: projection/compare.ts#summarizeProjection sums nominal YearResult.tax + YearResult.penalties across every projection year to publish lifetime taxes and penalties, with no stated rounding.
Formula:
L = sum over years y of (tax_y + penalties_y)-
tax_y: Year y published tax (unit: nominal USD) (domain: nonnegative) -
penalties_y: Year y published penalties, separate from tax (unit: nominal USD) (domain: nonnegative)
Timing: every projection year
Rounding: none stated
Limits:
- Penalties are a separate ledger field from tax, so summing taxes only, or adding penalties in the final year alone, understates the published figure. The valid domain is a finite projection-year sequence with finite annual dollar fields.
Provenance: derived by
codex, implemented byclaude.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: projection-summary-lifetime-taxes-and-penalties.md Mutation receipt: projection-summary-lifetime-taxes-and-penalties.mutation.md
Evidence tests: compareSummary.evidence.test.ts
Implemented in: compare.ts
Is the number of: projection-summary-lifetime-taxes-and-penalties
Feeds: swr-rule-result-lifetime-taxes-and-penalties, scenario-comparison-cell
-
Engine source: engine/src/projection/compare.ts
(ProjectionSummary.lifetimeTaxesAndPenalties)
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.