Personal finance, one case at a time

Releases1

In forcev2026.1

Retired0

The engine

Every figure in every case file is computed by a program, not typed by a person. That program is versioned, frozen at each release, and named in the jacket at the top of the file it produced. This page is the list.

What the version in a case jacket means

A file says Engine v2026.1 because that release produced its numbers. It stays on that version for good. When a newer engine changes a published figure, the file is reopened and corrected in place with both versions named — a new engine never silently restates an old case.

What the hash proves, and what it does not

Each release is hashed over its whole source tree and the hash is published here on the day it is cut. That makes one specific promise: we cannot quietly rewrite a release after the fact without this page contradicting itself.

It does not prove the arithmetic is right. A hash we publish about an archive we hold is our word plus a timestamp, and we would rather say so than let the string of hex do work it cannot do. What actually stands behind the numbers is the test suite, the fact that every published figure maps to an engine field, and the corrections policy in Standards.

Releases

v2026.1

In force. New files are computed with this engine

  • First release. The ten-step order, the contested-debt band, whole-dollar money handling and the tax-year limits for 2024 and 2025.
  • The step 5 / step 8 boundary is a band rather than a line: at or below 5% APR a debt waits for step 8, above 8% it is repaid at step 5, and between the two the case discloses that reasonable people would choose differently.
  • Supports tax years 2024 and 2025. A case dated 2026 is refused rather than estimated.
Released2026-08-12
Statusactive
Supersedes
Superseded by
Tax years2024, 2025
Tests287 of 287 passing
Python3.10.12

Source hash (SHA-256)
cef94be9002ed020e2fce58052ba05712456849df85bb9371adf3290cc6785a0

No published file was computed under this engine yet. When one is, it is listed here and stays listed.

Superseded is not deleted. Every release stays archived with its hash intact, because a file published under it has to remain reproducible.