Changelog
This page exists so that a figure you read here last month can be checked against the figure you read today, and so that any difference has a date and a reason attached to it. It carries the changes that actually happened. Nothing is listed to fill it out.
Every result is stamped with two versions, and both are on this page
Each analysis the engine returns carries an engine version — currently 0.1.0 — and a ruleset version, currently cliffcheck-rules-2026.draft-1. The engine version moves when the arithmetic changes. The ruleset version moves when a rate, threshold, band or limit changes. Underneath the composite ruleset sit 7 separately versioned files, each with its own effective range, so a rule that changes mid-year produces a new dated file rather than an edit to a formula.
| applicable-percentage.2026.json | aca-applicable-pct-2026.draft-1 · 1 Jan 2026 – 31 Dec 2026 |
|---|---|
| fpl.2025.json | hhs-fpl-2025.draft-1 · 15 Jan 2025 onward |
| contribution-limits.2026.json | contribution-limits-2026.draft-1 · 1 Jan 2026 – 31 Dec 2026 |
| medicaid-expansion.2026.json | medicaid-expansion-2026.draft-1 · 1 Jan 2026 onward |
| csr-bands.json | csr-bands.statutory · 1 Jan 2014 onward |
| repayment-limits.2026.json | aptc-repayment-limits-2026.repealed-1 · 1 Jan 2026 – 31 Dec 2026 |
| slcsp-sample.2026.json | slcsp-sample-2026.draft-1 · 1 Jan 2026 – 31 Dec 2026 |
To check whether a number moved: compare the ruleset version stamped on your saved result against the one above. If they match, the figure did not change. If they differ, the entries below say what did, and sources carries the per-file citations and the date each was last read.
What puts an entry on this page
- A value changed in a rules file — a poverty line, a basis-point band, a contribution limit, a state flag, an actuarial value.
- A rule changed shape. A repeal, a new statutory test, or a threshold that stops being a threshold. These are the expensive ones: an indexed value drifts predictably, and statutory structure does not.
- A citation changed. A source replaced with a better one, a wrong document removed, or a URL repointed at an authenticated government text.
- A verification status changed, or a figure was read against its primary source for the first time.
- Engine code changed a user-visible number — a rounding convention, an order of operations, an eligibility test.
- A correction. Errors are corrected within 48 hours of confirmation and logged here with what changed and why; the process is set out in the editorial policy. A correction that moves a number also re-derives the affected tests by hand, from the authority, rather than snapshotting whatever the engine now prints.
Rewording a page does not earn an entry. Neither does adding an explanation of a rule that has not moved.
Watch item: the cliff is a live legislative question
The enhanced premium tax credits that removed the 400% cliff for 2021–2025 have lapsed, and restoring them is a recurring proposal in Congress. This page will not tell you what any particular bill is doing, because a bill's status is not something this site can cite to a primary source it has read, and a half-remembered legislative position on a page people plan their income around is worse than no position. What it will do is record the change the day it takes effect: the rules are versioned by effective date, so a restored credit lands as a new ruleset and every page recomputes from that one file. Until then, the 2026 rules below are what the law provides, and a household one dollar over the line loses the whole credit.
Primary-source corrections
- The advance-credit repayment cap is gone entirely. Pub. L. 119-21 §71305 struck IRC §36B(f)(2)(B) for tax years beginning after 31 December 2025, so for 2026 there is no cap at any income. Bracketsight previously told a household at 250% of the poverty line its clawback was capped at $1,000. It is not — the whole excess is repaid. The three repayment bands were removed from the live rule and kept in the file under a provenance-only key the engine does not read, so a future reinstatement has a shape to copy. The citation to the wrong revenue procedure went with them, replaced by the public law itself, the revenue procedure that removes the repealed provision's inflation adjustment, and the post-repeal statutory text. The reconciliation code now throws rather than run at all if a ruleset ever declares a cap while shipping no bands.
- The 400% edge moved down. Form 8962 Worksheet 2 tests “more than 4.0 × the poverty line” before it truncates anything, so the last eligible income is exactly four times the poverty line. The edge for one person is now $62,600 (was $62,756.49) and for a family of four $128,600 (was $128,921.49). The multiple and the ineligibility sentinel moved out of code and into the applicable-percentage rules file at the same time, so no TypeScript file now holds the threshold.
- Hawaii's poverty guideline increment corrected to $6,330 per additional person (was $6,325; 90 Fed. Reg. 5917), and the 2026 traditional-IRA deduction phase-out for a covered single filer corrected to $81,000–$91,000 (was $79,000–$89,000; IRS Notice 2025-67). The Hawaii error understated the poverty line for every multi-person household, which understated the credit and overstated how close the household was to the cliff, compounding with family size. The IRA error hid a live, legal deduction from single filers between $89,000 and $91,000 of income.
- A placeholder Federal Register citation pointing at a host that blocks automated requests was replaced with the durable government-printing URL for the same notice.
- The ACA engine's test count went from 56 to 67: eleven tests added, ten existing expectations re-derived by hand from the authority rather than from engine output, and four re-commented without changing their numbers.
What the same audit did not change. Every band boundary and basis-point value in the applicable-percentage table matched its revenue procedure exactly. All 65 age-rating factors matched the federal curve with zero mismatches. All 51 Medicaid-expansion flags matched a federal enrollment dataset. Nine of eleven contribution limits were already right, and the remaining five poverty-guideline values were correct as encoded. A file being called a placeholder turned out to be a poor predictor of whether it was wrong.
Initial engine build
- Ruleset cliffcheck-rules-2026.draft-1: §36B credit with the restored 400% cliff, Form 8962 truncation, CSR bands, uncapped over-400% clawback, Medicaid-expansion flags for all states.
- Lever engine: 401(k)/403(b)/457, HSA, traditional IRA (phase-outs), SEP-IRA/Solo 401(k), and the iterative self-employed health insurance deduction (Rev. Proc. 2014-41 method).
- Known limits: sample benchmark premiums (six counties); placeholder 2026 indexed figures pending Rev. Proc. and COLA verification — status per file on /sources.
Open items that will produce a future entry
These are recorded gaps, not changes. None of them has moved a number yet; each is expected to, and this is where it will be written down when it does.
- The 2026 Form 8962, due around January 2027. The cliff convention rests on the 2025 and 2020 editions of Worksheet 2, which agree word for word across the ARPA boundary. If the step order in the 2026 edition differs, both cliff edges above move, and that would be the largest single entry this page could carry.
- Real benchmark premiums. The six county base premiums are invented sample data and must be replaced from the CMS marketplace public use files, which publish around October and November for the following plan year. Those files cover only the states on the federal marketplace, so the states running their own need separate handling — including California, which is in the current sample list.
- State-specific age-rating curves. The encoded curve is the federal default and is verified exactly, but it is a default only. The federal summary of state variations was last updated in December 2021 and shows New York and Vermont with no age rating at all. Latent while no such county is in the sample table; live the moment real premiums land.
- The age 60–63 catch-up. Verified, in force for 2026, and not yet modelled — described in the source audit as the single largest missed lever in the product, because it applies to exactly the pre-Medicare age group most likely to sit near the cliff. Adding it will change lever rankings, which is a numbers change and will be logged as one.
- The below-100% eligibility path. The same public law that repealed the repayment cap also struck the provision underlying one of the two routes to a credit below the poverty line. That branch needs re-derivation for 2026 and is recorded as open rather than quietly assumed.
- Credentialed review. No enrolled agent or CPA has reviewed this section's tax logic. That review is a launch gate, and its completion — with the reviewer's name and credential — will appear here and on the editorial policy page.
The formulas these rules feed, and every simplification the engine currently makes, are set out on methodology.