Corrections and audit log
Reporting policy dated 2026-09-10. Log entries are generated at every build from the data files and from the record of corrections to page copy.
Every data file keeps dated notes of what was checked and what was changed, and corrections to the written pages are recorded alongside them. Entries marked correction changed a published or draft figure or statement; audit entries confirmed figures without changing them; update entries added a rule or a period.
How to report a wrong figure
Email support@retirematics.com with the page address (the "Copy link to this result" button keeps your inputs), the figure you expected, and the official document it comes from. A report is checked against the primary document; when it is right, the data file is corrected, the fix is dated in the file's notes, the tests are updated to pin the corrected figure, and the entry appears here at the next build.
Log (44 entries, 22 corrections)
2026-09-30
- update 120% mid-term AFR history — October 2026 added from Rev. Rul. 2026-19, whose own text names the month ("for October 2026 (the current month)"); the IRS posted the file on 18 September 2026 (its Last-Modified date). Mid-term AFR 4.61, 4.56, 4.53 and 4.52%; 120% AFR 5.54, 5.47, 5.43 and 5.41% (annual, semiannual, quarterly, monthly). Read twice, the second reader blind to the first and also reading a rendered image of the table; the reads agree on all eight figures, and each is the semiannual rate converted to its compounding period. This month the mid-term 120% row prints the same four figures as the short-term 130% row, so the row was identified by its block (the mid-term block is the one with 150% and 175% rows). A November 2026 start now has both eligible months published, and its ceiling is 5.54%. The November ruling is not yet published: rr-26-20 is a §351 ruling on exchange-traded funds, and rr-26-21 through rr-26-30 return the IRS 404 page. The index at irs.gov/applicable-federal-rates now lists RR-2026-19 for October 2026 but still has no entry for RR-2026-17, September's ruling.
- correction 72(t) calculator — from 18 September the 72(t) calculator said the October 2026 ruling had not been published, and computed with the highest rate the site had: 5.40% for a November 2026 first payment, and only the 5% floor for a December one. The IRS had posted the October ruling, Rev. Rul. 2026-19, on 18 September; its 120% mid-term rate of 5.54% was the maximum for both. At the page's default inputs — $400,000, age 50, the Single Life Table, a November start — the fixed amortization amount read $25,382 a year instead of $25,828. The series now includes October; the rate hint and the ceiling table give the date the rates were last checked instead of saying a ruling is still unpublished; and the page opens on the latest start month whose maximum is fully known. Found in our own review of the site's state on 2026-09-30.
2026-09-18
- correction Author page — the list of what the site leaves out said the drawdown projection does not model variable returns. It has since 2026-09-16: the withdrawal calculator runs the same plan against one steady return, against every stretch of the historical record, or against years drawn at random from it. The methodology and the calculator's own page were updated when those settings shipped; this sentence was not. No figure was affected. Found by an outside review of the site.
- update RMD rules — the projection's convention for a first minimum delayed to April 1 changed. The delayed amount was shown leaving at the end of the following year together with that year's own minimum — nine months after its deadline — so that year's closing balance, and every balance and minimum after it, was off by nine months' growth on the delayed amount — high at a positive return ($703.21 on $500,000 at 5%, a little over 0.1%), low at a negative one. It now leaves on April 1, after three of that year's twelve months of growth, the latest day the rule allows, as every other minimum in the projection already did. The old treatment was stated beside the table and in the methodology rather than hidden, and the minimum for the first two years was never affected; only the option to delay is. Quantified by an outside review of the site.
- update US federal 2026 — two inputs added after an external review. A spouse's W-2 wages on a joint return now count in AGI, in earned income for the credits, towards the Additional Medicare Tax threshold (Form 8959 combines both spouses' wages) and in state income, but not against the filer's own Social Security wage base, which is per person; before, the only wages box was the filer's, so a spouse's wages either went unentered or wrongly used up the filer's base (up to $11,451.40 of self-employment tax in 2026). And children aged 17 to 23 who qualify for the earned income credit (under 19, a full-time student under 24, or disabled) can now be counted for it; before, only the under-17 count fed the credit. Both are inputs the calculator did not have rather than figures it got wrong.
2026-09-17
- audit 120% mid-term AFR history — the October 2026 ruling is not published. rr-26-18 through rr-26-22 all return the IRS 404 page; the index at irs.gov/applicable-federal-rates lists only to RR-2026-13, while RR-2026-17 (September) is reachable at its own URL — so the URL is the live signal and the index lags it. A November 2026 start, whose eligible months are September and October, therefore has only September's 5.40% published; the calculator says so rather than presenting it as the maximum.
- correction Pension vs lump sum calculator — when the start age was below your age now, the page asked for the amount the pension pays today but passed the original start age to the engine, which treats the amount as the first year's and grows it by one cost-of-living increase per anniversary since the start — so today's amount was grown by every past increase a second time. Every figure on the page was too high by (1 + increase)^(years in payment): $2,000 a month, started at 65, now 70, 3% increases, to 90 at 5% was valued at $472,717.72 instead of $407,770.46, which reversed the comparison against a $450,000 lump sum. A pension with no increase (the default) was unaffected. Found by an external review on 2026-09-17.
- correction Taxable Social Security calculator page — the page told readers with excluded savings bond interest, adoption benefits, excluded foreign earned income or excluded possession income to add those amounts to other income. §86(b)(2) adds them back only for the taxable-benefit test; the calculator's other-income field also feeds adjusted gross income, so following the instruction taxed income that is excluded — $10,000 of qualifying savings bond interest on $20,000 of other income and $30,000 of benefits gave a federal estimate of $2,116 instead of $970. The page now says not to enter them and that the estimate does not apply when they do. Found by an external review on 2026-09-17.
- correction US federal 2026 — the §199A deduction applied the 20%-of-taxable-income cap before the phase-in reduction (20% × min(QBI, taxable income) × phase factor) instead of after it (min(20% × QBI × phase factor, 20% × taxable income)), the order §199A(a)(2) and (b)(3)(B) prescribe and Form 8995-A works in Parts III and IV. Every sole proprietor with no other income whose taxable income fell inside the phase-in range was shown too small a deduction and too much tax: for a single filer with $250,000 of profit and nothing else, $33,677.24 became $36,151.78 and the income tax fell by $593.89. The engine test that pinned the old order was corrected, and a line-by-line Form 8995-A implementation now checks 17 hand-worked cases and a grid across both years and all four statuses. The methodology page described the wrong order in the same words and was rewritten. Found by an external review on 2026-09-17.
- correction US federal 2026 — the Additional Medicare Tax on W-2 wages above the filing-status threshold (Form 8959 Part I, 0.9%) was left out of the federal total; only the part on net earnings from self-employment (Part II) was counted, although the methodology page said both were. A single filer with $300,000 of wages and no profit was shown $0 of Additional Medicare Tax instead of $900; with $100,000 of profit as well, $831.15 instead of $1,731.15. The 1099 vs W-2 comparison understated the W-2 side's payroll tax by the same amount. The engine now returns the wage part separately, the federal total and the comparison include it, and the breakdown shows it as its own line (the employer withholds it, so a filer who enters the tax withheld from wages already has it covered). Found by an external review on 2026-09-17.
- correction US federal 2026 — the estimated tax underpayment charge kept accruing past the return's due date. §6654(b)(2) runs each underpayment from its installment date to the earlier of the date paid and the 15th day of the fourth month after the year ends, so for a 2026 underpayment nothing accrues after 15 April 2027; the engine used today's date without that ceiling, and a link dated later showed a larger figure ($744.26 on 15 May 2027 against $661.41 on 15 April, on $16,000 of unpaid tax). The charge now stops on that day, the per-day figure is zero from then, and the quarterly and penalty pages say that interest and the late-payment penalty on the unpaid tax take over, which they do not estimate. Found by an external review on 2026-09-17.
2026-09-16
- update Social Security rules — correction (published figures changed): two rounding steps in dual entitlement. RS 00615.694 steps 4-6 subtract the credit-bearing own benefit from the combined amount at the DIME — its own worked example writes step 5 as "$410.00" — and each side is rounded to the dollar only afterwards. This engine rounded first, so a worker PIA of $3,000 with an own PIA of $902, both claimed at 70, paid $1,500 where the sequence gives $1,118 plus $381, or $1,499. And RS 00601.020 D.3 exempts an amount under $1.00 from the lower-dollar rule -- "the amount is not rounded to $0.00" -- so a spousal excess of $0.80 is $0.80, not nothing; on a $3,000 worker PIA against an own PIA of $1,499.20 the total is $1,499.80. Both found by external review.
2026-09-15
- update Historical real returns — correction (published figures changed): both the safe-withdrawal page and the methodology page quoted an uncertainty for the historical success rate — "roughly ten percentage points" on one, "eight to eighteen percentage points" on the other — without naming the statistic, the grid or the resampling behind either, and with no code or test that reproduced them. Nothing could check them, including us. The experiment now exists in the engine (recordUncertainty), runs at build time so both pages read one shared figure, and is printed on the methodology page with its procedure, its parameters, its generator and its full table. Measured: over the 17 of 25 grid cells where the success rate is not pressed against 0% or 100%, the standard deviation of the resampled rate is 10.7 to 22.1 percentage points and the 95% interval is 37.7 to 82.6 points wide. The old figures were in the right neighbourhood as standard deviations but were quoted at the low end and did not say so, so a reader would have taken them for a much tighter claim than the data supports. At 4% and three quarters in stocks the record gives 94.2% with a 95% interval of 60.9% to 100.0% — wider than the gap between a 4% and a 4.5% rule, which is the point the pages now make.
- correction Social Security rules — correction (published figures changed): a spouse's benefit was a dollar below what the SSA pays whenever the worker's PIA ended in an odd dime. The engine halved the PIA and computed the age reduction on the half without rounding it, so $2,000.10 produced an unreduced $1,000.05 and, at 36 reduction months, $749 instead of $750. POMS RS 00601.020 A.4 lists "Original Benefit" among the amounts dimes rounding "applies to calculation of" and A.2 makes that rounding downward for anything effective after May 1982; the same section's rule that intermediate steps are not rounded does not reach it, because being on that list is what makes it not intermediate. Halving is the only step that can leave a half-cent, so no worker's own benefit was ever affected and no even-dime PIA was: over a 54.7-million-case grid exactly 94,566 results move, all spousal, all at odd-dime PIAs, all up by $1. Found by an adversarial review. Two tests had recorded the wrong figure as expected — one named the symptom "a spouse's half of a PIA ending in 5 cents can come out $1 lower", and the clean-room fixture from round 3 stated the same missing step in its own conventions, which is why that independent check agreed with the engine instead of catching it.
2026-09-12
- update 120% mid-term AFR history — the 120% row is not 1.2 x the printed annual AFR. Converting the ruling's printed 120% semiannual rate to an annual equivalent, (1 + s/200)^2 - 1, reproduces the printed annual 120% figure in all 69 months; multiplying the printed annual AFR by 1.2 instead disagrees with the published row in 44 of them, by up to 0.022 points and by 0.02 to two decimals in eight (2022-08, 2022-11, 2022-12, 2023-05, 2023-11, 2024-06, 2024-09, 2025-06). The 2026-09-10 note named those eight; this one states the mechanism and the full extent. The ceiling reads the published row, so no engine figure changes.
- update Historical real returns — returns are REAL, already net of inflation, on a December-to-December basis. A withdrawal held constant in real terms therefore needs no separate inflation series, which is the formulation Bengen and the Trinity study used.
- correction Historical real returns — cross-check against Damodaran's independently published annual returns over the same 98 years: the means agree to about 4 basis points (real stock 8.68% here against 8.64% there) but the mean absolute difference in any single year is 2.31%, with a maximum of 8.47%. The two construct their indices differently and reinvest dividends on different timing, so Damodaran confirms the long-run magnitude and would catch a gross error, but it cannot verify an individual year. That is why this file is draft rather than verified on the strength of the cross-check alone.
- update Historical real returns — the consumer price index embedded in Shiller's real series agrees with the BLS annual average over 1928-2025 to a mean relative difference of 0.067%, worst 0.513% in 1933, which is the rounding difference between averaging unrounded monthly values and averaging the published rounded ones.
- update Historical real returns — two traps recorded so they are not repeated. Shiller's Date cell is a float, so October stores as .1 rather than .10 and a string parse silently drops every October. And column 'Monthly Total Bond Returns' is a series of monthly return factors near 1.0, not a cumulative index; only 'Real Total Bond Returns' may be ratioed.
- update Historical real returns — the blind second derivation reproduced both index chains from their own inputs to machine precision (3.3e-16 and 5.6e-16), found a December value present for every year 1927-2025 with nothing imputed, and established that Shiller's monthly consumer price index is identical to BLS CUUR0000SA0 in all 1175 months BLS publishes. The 0.067% annual gap recorded on 2026-09-10 is therefore BLS's own rounding, not a difference between the two: comparing BLS's published annual average to the mean of BLS's own monthly values reproduces the same worst year and the same magnitude.
- update Historical real returns — disclosure obligations for any page built on this file, all established by the blind read. (a) Shiller's price is a monthly average of daily closes, so these are December-average to December-average returns, not calendar-year returns: 2008 reads -39.29% here against the familiar -37%. (b) In 1928-1952 the bond series rests on GS10 yields linearly interpolated between January anchors, 275 of 298 months lying exactly on a line through their neighbours. (c) The stock series is the S&P Composite, not the S&P 500, which did not exist before 1957, and its dividends are interpolated in every era. (d) The bond series is a constructed holding-period return on a par 10-year bond implied by the yield, not an investable index, so real returns would be lower. (e) Both series are gross of taxes and every fee, and 'real' means CPI-U, which is not a retiree's basket; both push a backtest optimistic. (f) 98 years yield only 69 distinct 30-year windows, each sharing 29 years with its neighbour, so a 100% success rate rests on few genuinely independent periods in one country over one unusually good century. (g) 2022 is the worst bond year in the whole record at -20.16% and was simultaneously a -20.14% stock year, so the two sleeves lost almost exactly the same amount; a 'bonds are the safe sleeve' claim must not be made from this data without that. (h) Shiller's own disclaimer does not guarantee the accuracy or completeness of the data, and should travel with the citation.
- update Historical real returns — anyone regenerating this file from a later download must stop at the last COMPLETE December. The workbook runs past it and its final rows are partial by its own admission.
2026-09-11
- correction Life-expectancy tables (2022) — the regulation's Uniform Lifetime Table (ages 72 to 120 and over, the divisor for required minimum distributions) moved to uniform-lifetime-2022.json, unchanged, so the withdrawal calculator can ship those 49 numbers statically instead of fetching this file; lifeExpectancyTables.uniformLifetime is composed from it and still carries the same values. uniformLifetimeSepp (from age 10, Notice 2022-6 Appendix A) stays here.
- correction Social Security rules — (round 3): two independent reviews (a clean-room reimplementation, report R3-SS2, and a code review, R3-CODE) found that the engine had held the claim-year credits until January even when the 70th birthday came first; §402(w)(3)'s second clause and POMS RS 00615.690 B pay them from the month of attaining 70. Fixed; for a claim at 69 years 11 months against 70 the reported break-even had been 7–72 months too early. The same round confirmed every other amount, first check, COLA truncation and break-even month in an 11,520-case grid. Also recorded: a month in which the two cumulative totals are exactly equal counts as caught up (the page's 'catches up' wording); totals by an age include the birthday month's benefit; the return compounds monthly at the twelfth root of the annual rate; the first COLA applied is the first December after the earlier claim's month.
- correction Uniform Lifetime table (2022) — split out of life-expectancy-2022.json, values unchanged, so that the withdrawal calculator ships these 49 numbers statically (about 300 bytes) instead of fetching the 121×121 joint table, and so that its server-rendered figures already include required minimum distributions.
2026-09-10
- update 120% mid-term AFR history — months January 2021 through September 2026 read from the revenue rulings. The ruling for a month is normally published in the third week of the preceding month; add each new month as it appears.
- update 120% mid-term AFR history — verification: the second read confirmed all 69 months. The IRS builds the 120% row from the semiannual rate and converts it to the other compounding periods, so the annual 120% figure can differ from 1.2 × the annual AFR by 0.02 points (2022-08, 2022-11, 2022-12, 2023-05, 2023-11, 2024-06, 2024-09, 2025-06); the published row is what the ceiling uses. Notice 2022-6 does not say which compounding period's 120% rate applies; the engine uses the annual figure and the pages say so.
- correction Life-expectancy tables (2022) — both the CFR and the Federal Register print the Joint and Last Survivor Table with 88.5 at (2, 5) but 88.6 at (5, 2) — the regulation itself is asymmetric in that one cell; the engine returns the entry at (owner, beneficiary) as printed. Pub 590-B Table II prints 14.8 at (90, 76) where the regulation has 14.7, and 3.2 / 3.1 / 2.9 at (112, 102), (112, 103), (112, 107) where the regulation has 3.3 / 3.2 / 3.0; the regulation governs and those Pub 590-B cells are treated as misprints.
- correction Life-expectancy tables (2022) — in both the CFR and the Federal Register text, the row for age 19 in the column block for ages 27–35 is printed with a value missing, so (19, 27) to (19, 35) could not be read directly; those nine cells are taken from the mirror cells (27, 19) to (35, 19), which the regulation prints in full. The table is symmetric by construction, and every other pair of mirror cells agrees except the (2, 5) / (5, 2) misprint noted above.
- correction Life-expectancy tables (2022) — verification: the second transcription and the red team's reconstruction from the mortality rates confirm every cell. The reconstruction also shows the (2, 5) cell should read 88.6 like its mirror (5, 2): the 88.5 printed in both the CFR and the Federal Register is the regulation's own misprint. The engine keeps the printed value, which no 72(t) or RMD calculation can reach (an owner aged 2), and looks up (owner, beneficiary) as printed. Pub 590-B's four deviating cells are refuted by the same reconstruction.
- correction Social Security break-even page — Correction (pre-launch review): the FAQ gave the reduction for claiming at 62 and 1 month with a full retirement age of 67 as 29.17%; 59 reduction months are 20% plus 23 × 5/12 of 1% = 29.58% (29.17% is the SSA's 58-month row for people born in 1959). The prose also said a claim at 70 overtakes a claim at 67 at 82 years and 6 months; the month-by-month totals cross at 82 years and 5 months. Both figures are now computed by the engine at build time.
- update Social Security rules — file created. The SSA pages express the reduction and credit rules as fractions of a percent per month; the engine applies them exactly and follows the statute's rounding order (reduction up to the dime, payable amount down to the dollar), so its dollar figures match the SSA's $1,000-PIA tables and its 2026 worked cases.
- update Social Security rules — verification: a blind second read of the SSA pages, 42 U.S.C. §402/§415/§416(l), IRC §86 and Publication 915 (report V-SS) reproduced every figure in this file, and a red team (report R-SS) recomputed 240 worker and spouse amounts, two month-by-month break-even paths and 20 §86 cases by hand from the documents with no arithmetic difference. The red team's findings changed the calculator page, not the numbers: a crash when 70 was entered as the earlier claiming age, an FAQ that gave 29.17% for the 62-and-1-month reduction (29.58%), a break-even quoted as 82 years 6 months (82 years 5 months), and disclosures now added. Two mechanics the second read surfaced were then modeled rather than disclosed: the statutory rounding order (§402(q)(8), §415(g), §415(i)(2)(A)(ii)) and the January timing of credits earned in the claim year (§402(w)(3)).
- update US federal 2026 — the aged additional standard deduction and the 2025–2028 senior deduction added for the retirement withdrawal calculator. Two independent reads (a red-team agent and the lead, both from rp-25-32 and the enrolled text of P.L. 119-21) agree on every figure; the senior deduction is taken per qualified individual and each individual's $6,000 is reduced by the same 6% of the excess MAGI, which Schedule 1-A (2025) lines 35–37 confirm; it reduces taxable income below AGI, so it does not enter the §86 computation.
2026-09-09
- correction US federal 2026 — the solo 401(k) maximum ignored the §415(c)(1)(B) 100%-of-compensation limit, which for a self-employed person makes each dollar of employer contribution cost two dollars of headroom (compensation is net earnings less the employer contribution, with elective deferrals added back). Between about $26,400 and $43,900 of net profit the old figure was too high — at about $32,300 of profit it allowed about $30,000 where Pub. 560's worksheet allows about $27,250 (2026 limits; the exact figures depend on the self-employment tax). The engine now follows the worksheet: deferral, then employer ≤ (net earnings − deferral) ÷ 2, then catch-up ≤ compensation − deferrals; the ceiling is reported as three components that add to the total. Two independent primary-source reads (Pub. 560 worksheet steps 11–13 and the §415/§404/§414 text) agreed on the rule. §401(a)(17) compensation limit added for the employer 25%-of-capped-compensation ceiling.
- update US federal 2026 — (red team): two further corrections to the same worksheet. Each component is now settled to the cent as it is computed, so the catch-up sees the cent released by flooring the employer contribution (at $40,000 of profit with a catch-up it is $6,337.05, not $6,337.04) and the three parts add to the total exactly. And catch-up contributions made in another employer's plan now reduce what is left here: the §414(v) amount is one per individual across employers (Treas. Reg. §1.402(g)-2). An adversarial pass recomputed all 79 combinations of profit, age band and prior deferrals by hand from the worksheet; the remaining differences from a hand-worked Form 1040 are that the worksheet's inputs are whole dollars where this engine keeps cents, and that the ceiling assumes an entirely pre-tax contribution (designated Roth amounts count against it without being deductible). Both are stated on the methodology page.
- correction US federal 2026 — the underpayment-penalty estimate was reported even where the statute removes the addition to tax outright — §6654(e)(1) (tax under $1,000 after withholding) and §6654(e)(2) (a full twelve-month prior year with no tax). It is now omitted in both cases, so a page can no longer show an accrued penalty and the reason it cannot arise at the same time.
- correction US federal 2026 — the $1,000 floor was treated as a defence against the penalty only, so a filer expecting to owe less than that after withholding was still shown a required annual payment, installments marked short and advice to catch up — while being told no penalty could arise. Form 1040-ES's General Rule makes it a condition of the requirement itself ('you must pay estimated tax if BOTH of the following apply: 1. you expect to owe at least $1,000 after subtracting your withholding and refundable credits'), so the requirement and the whole schedule are now zero, as they already were for the §6654(e)(2) prior-year exception. Estimated payments already made do not count towards the test; only withholding and refundable credits do.
2026-09-08
- update US federal 2026 — retirement-plan limits added for the SEP-IRA / solo 401(k) input (two documents: the IRS notice and the IRS limits page for the year). The self-employed health insurance and retirement deductions reduce AGI and qualified business income but not self-employment tax or the earned income used for the child and earned income credits; the health insurance deduction is capped at net earnings less the retirement deduction (§162(l)(2)(A)); the retirement deduction is capped at the lesser of the §415(c) limit and net earnings after ½ SE tax — the calculator does not know the filer's age or plan type, so catch-up limits and the SEP-only 20% cap are described on the page rather than enforced.
- update US federal 2026 — annualized-installment parameters (statutory percentages, form factors), the standard mileage rate and the home office safe harbor added for the guides; the mileage and safe-harbor rates are described on the guide pages and are not inputs to the calculators.
- correction US federal 2026 — the retirement-plan deduction had been capped only at the lesser of the §415(c) limit and net earnings, so an entry above a plan's real ceiling was accepted (an external review entered $100,000 on $72,000 of profit and got a $66,913 deduction). The calculator now distinguishes SEP-IRA and solo 401(k), applies the 20% self-employed rate, the §402(g) deferral less deferrals made in another employer's plan, the §415(c) cap and the age-based catch-ups, and reduces an excess entry to the plan-specific maximum with a note. Earlier text in this file saying age and plan type were not collected no longer applies.
- correction US federal 2026 — the quarterly calculator had taken one 'paid so far' figure, which could not show whether past installments were met and treated withholding and estimated payments alike; the §6654(e)(1) $1,000 test also subtracted estimated payments, which the statute does not. It now credits withholding one quarter per due date (§6654(g)), each estimated payment on its date to the oldest unpaid installment (§6654(b)(3)), reports each installment's status, and estimates the penalty accrued at the §6621 rates; the $1,000 test uses withholding only.
2026-09-07
- update US federal 2026 — estimated-tax safe-harbor parameters added (§6654; unchanged for years) for the quarterly-payment calculator. Two reads: the statute text and the Form 1040-ES instructions. The $150,000 / $75,000 AGI thresholds are not indexed.
2026-09-05
- correction US federal 2026 — HoH 24%/32% ceilings corrected to 201,750/256,200 (Rev. Proc. 2025-32 Table 2); QBI MFS threshold corrected to 201,775 (§4.26 lists MFS separately from all other returns); ACTC limit corrected from 1,800 to 1,700 (§4.05(2) — the indexed $1,400 base did not reach the next $100 step).