The ledger · engine and site

Changes

Machine-readable log of the engine and the public site. Subscribe via RSS. Source: web/site/src/data/changelog.json.

  1. · 2026-10-22-finding-003

    Finding 003: two rounding rules, rounding_compat pdoc, 15 forms still open

    K2 and K2P are rounded as two credits and Ontario surtax as two lines (default arm). rounding_compat pdoc now computes the CPP line in emulated binary64, matching PDOC's outputs. Overall PDOC rate 8905/9002 default, 8987/9002 with rounding_compat pdoc. The rules were chosen by inspecting the full corpus; 15 cases remain unexplained and count in both rates.

  2. · 0.5.0-m4

    0.5.0-m4: year projection, Option 2, 2027 preview, conformance

    M4 engine: batch, year projection with CPP/EI caps, Option 2 with a PDOC caveat, signed rule-change webhooks, 2027 preview labelled proposed. Conformance re-run: overall PDOC rate 8838/9002 at the time. New classes named (bonus pending, year invariants, Option 2 worked examples). All 164 M-003 disagreements remain listed. rounding_compat pdoc stayed unimplemented until 2026-10-22 (finding 003).

  3. · unreleased-cpp-2027-preview

    Unreleased: 2027 CPP preview rule set

    data/rules/2027-01-01/ ships as a proposed preview: CPP employee total 5.75% (base 4.75%), maximums held against 2026 YMPE, BC indexation paused. A 2027 as_of returns the set with a RULE_SET_PROPOSED warning naming the 2026-04-28 announcement. Do not file from that number.

  4. · unreleased-rules-watch

    Unreleased: rule-set diff, webhooks, T4127 pin watch

    GET /v1/rules/diff compares two editions field by field. Account webhooks deliver an HMAC-signed rule_set.changed payload with retries and replay. A scheduled rules-watch job pins the T4127 index, edition pages, and CSV bundle and opens an issue with the unified diff on drift.

  5. · unreleased-embed

    Unreleased: embeddable take-home widget

    One script tag, same T4127 WASM engine, no cookie and no salary posted back. Demo and a pitch for job boards, recruiters, and relocation services at /embed/.

  6. · unreleased-five-minute

    Unreleased: five-minute API path

    Docs in the header. Email, verify, test key, first call. Ontario weekly $1000 on 2026-01-15 returns net_pay 800.79.

  7. · unreleased

    Unreleased: Worker API

    Cloudflare Worker API (POST /v1/deductions and M3 GET surfaces) over the WASM engine. Unknown fields named; out-of-range as_of rejected; OpenAPI generated from the same schemas.

  8. · unreleased-keys

    Unreleased: self-serve keys and CAD billing

    np_test_ and np_live_ keys, hashed at rest. Metering counts calculations. Live keys hard-stop at the published CAD plan limit. Signup is email, verify, keys, first call.

  9. · unreleased-pages

    Unreleased: 200 pages, RSS, CPP 2027

    Site catalog expanded to 200 HTML pages from four templates (employee, employer, situational, reference). /conformance renders the full disagreement list. /changes has an RSS feed. /cpp-2027-rate-change published ahead of the 2027 T4127 edition.

  10. · 0.3.0-m2

    0.3.0-m2: thirteen jurisdictions, 164 M-003 rows

    Thirteen-jurisdiction T4127 engine (both 2026 editions); Quebec remains typed unsupported. July PDOC queue finished: 8,818/8,982 compared forms; 164 one-cent M-003 disagreements counted; 780 step-2 non-advances named out of the rate. Overall PDOC agreement 8,838/9,002 including M1. Finding 002 remains open.

  11. · 0.2.0-m1

    0.2.0-m1: Ontario PDOC 20/20

    M0: fixed-point decimal type and CRA rounding rules. M1: Ontario PDOC 20/20.