Calculation catalog › Accounts and growth
MCP batch ending traditional objective
Ending traditional-account balance of each evaluated candidate, published as batch_evaluate's ending_trad objective.
Field: Batch ending traditional balance objective Unit: US dollars Basis: nominal dollars Computed by: Engine Status: Complete chain
Appears in: mcp (batch_evaluate.results[].objective)
Calculation records
-
MCP batch ending traditional balance objective Composition record, justified by derivation
Purpose: The figure RetireGolden-MCP's batch_evaluate ranks candidates on under objective ending_trad: each candidate plan's ending traditional balance.
Statement: For objective=ending_trad, RetireGolden-MCP's batch_evaluate reports, for each candidate plan it projects, projection/compare.ts#summarizeProjection's endingByCategory.traditional: the last ledger row's published balances summed over the plan's accounts of type traditional (kinds ira and employer, inherited accounts included), each logical account id once, by projection/yearFigures.ts#balancesByCategory. Roth, HSA, taxable, cash and equity-compensation balances are not in it, and it is the gross balance, before heir tax. The engine publishes the figure and the adapter selects it, since RetireGolden-MCP 0.11.0 (#81) and so at b2c7f717 (0.12.0, the census's MCP pin until 2026-10-11); through mcp-v0.10.0 (3197d359) the adapter walked the last row's balance entries and added those whose account type is traditional. On the worksheet's six accounts the objective is 550,750.75. Units: nominal USD of the projection's end year. Rounding: none.
Formula:
objective = Σ over the plan's logical accounts a with type traditional of lastYear.balances[a.id]-
lastYear: The final ledger row (unit: year row) (domain: an empty ledger publishes 0) -
lastYear.balances[a.id]: Account a's published year-end balance, 0 when absent (unit: nominal USD of the end year) (domain: finite)
Timing: once per evaluated candidate, on the final ledger row
Rounding: none
Limits:
- Gross: the objective ranks the pre-tax balance a candidate leaves, before the heir tax and before any nondeductible basis; what heirs keep is projection-summary-ending-after-tax-estate.
- The mcp-v0.10.0 adapter (3197d359) added the balances in the order of the row's balance entries; the engine adds them in the order of the plan's accounts. The two orders can differ in the last binary digit, never by a cent; on the worksheet's accounts they give the same double, which the evidence asserts.
- balancesByCategory refuses a plan whose account id is also the id of a property, a debt or a permanent-life policy, where the mcp-v0.10.0 adapter's walk would have added whatever the ledger published under that id; the plan checks refuse such plans before a projection runs.
Provenance: derived by
claude, implemented byclaude.Independent review:
codexGates (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: mcp-batch-ending-traditional-objective.md Mutation receipt: mcp-batch-ending-traditional-objective.mutation.md
Evidence tests: compareSummary.mcpObjectives.evidence.test.ts
Implemented in: compare.ts; yearFigures.ts
Is the number of: mcp-batch-ending-traditional-objective
-
Engine source: engine/src/projection/compare.ts
(ProjectionSummary.endingByCategory)
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.