Takehome

Conformance

Oracle is CRA PDOC (https://apps.cra-arc.gc.ca/ebci/rhpd/beta/).

PDOC version observed on filled vectors: 2026-06-11 (M1); form:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 (grid queue).

Capture operator: pdoc-oracle-harness.

Expected amounts are PDOC-only. They are never filled from the engine.

This file is generated by tools/conformance (takehome-conformance).

Do not hand-edit rates or counts; change the run and regenerate.

Overall agreement rate (PDOC corpora): 8838/9002.

Methodology

A disagreement is: correctly-specified identical inputs, engine and PDOC

both given exactly what the operator intended, outputs differ. That is a

finding about the world. It is published here with the full input, both

outputs, the delta, and an explanation — including cases where we conclude

PDOC is wrong.

A disagreement is not: a bug in the harness, a mis-mapped request or

result field, or a vector whose input was specified differently on the two

sides. That is a defect. Fix it, add a regression test, and it never

appears in this record.

The distinction is the document’s credibility. Inflating the disagreement

count with our own mapping bugs is less trustworthy, not more honest.

Publishing everything is not the same as publishing indiscriminately. The

number of disagreements below means genuine remaining deltas, not “every

time a test failed.”

Until every defined vector in a corpus is measured, this document states

n, how many are measured, and how many are pending. It does not compute

an agreement rate on a partial run. A completed corpus states how many match

and lists every disagreement.

M-001 — Published whole-dollar K (ADR-002)

Annual T3/T4 is discontinuous by at most $1.00 at each bracket threshold,

because the CRA publishes the K constants rounded to whole dollars. PDOC

exhibits the same discontinuity; we match it deliberately.

The per-threshold jump equals the difference of that bracket's two K

rounding residuals. Measured 2026 jumps for **all thirteen bracket

tables** (FED plus twelve provinces/territories; both January and July

editions; Outside Canada has no provincial K) live in

crates/takehome-core/tests/vectors/bracket_discontinuity_2026.json.

Period-tax vs gross is therefore not strictly monotone. The property

ontario_calculate_invariants uses the M-001 bound (≤ $0.09 per period

across sampled P ≥ 12). The thirteen-jurisdiction property

calculate_invariants_all_jurisdictions scales the same residual

difference by P, adds provincial surtax amplification and the Outside

Canada 48% T1 surtax, and allows two cents of period rounding.

#[ignore] is never a resolution for those tests.

Decision:

`docs/ADR-002-published-constants.md`.

M-002 — PDOC K2 maximum in the reaching period

T4127 Chapter 3 tells the calculator to use the maximum base CPP contribution

“in that pay period” — the period year-to-date first reaches the annual CPP

maximum. PDOC does not. Its federal CPP credit base is

max(P × C × ratio, D × ratio) capped at base_max, which on the measured

vector is D × ratio = 3494.12 rather than base_max = 3519.45.

The period-tax difference is 13¢ federal and 5¢ provincial on

on-biweekly-midyear-k2-max. That is a fact about PDOC, not an engine defect:

the default k2_method is pdoc_observed because customers reconcile against

the oracle. The document’s reading is selectable as t4127_literal.

Full write-up (vector, both outputs, delta, inversion, reproduction):

`docs/findings/001-k2-maximum-in-reaching-period.md`.

PDOC mapping notes: employee.federal_tax is T4127 [(T1)/P]+L (PDOC

Federal + Additional). employee.total_tax is the sum of the two

separately rounded federal and provincial lines a user can add up on

screen; breakdown.T is T4127 Step 6 round((T1+T2)/P)+L and may differ

by one cent. Claim code 1 must be entered via PDOC Claim codes,

not a fixed TD1 dollar amount — fixed $16,452 does not phase out BPAF.

employee.total_deductions includes union dues.

M-003 — PDOC midpoint direction (open)

Live cent delta: T4127 half-up at an exact midpoint goes up; PDOC’s line is

sometimes 1¢ lower. Counts against the agreement rate — not exempted as

methodology. Not Alberta-specific; AB is dense because 8% flat on round

grosses manufactures halves. Observed down-classes: AB provincial T2/P,

AB CPP, NL 4333.33 P=12, NL 1718.39 P=26 (neighbour 1718.40 goes up),

NU 2536.41 P=22. Cross-jurisdiction probes: 47/50 discriminating

half-cent forms match engine (up). Condition that selects down vs up is unnamed. Finished July queue: 164

one-cent disagreements across thirteen jurisdictions (AB 40, ON 18, BC 14,

NU 14, NS 12, MB 11, YT 11, NL 10, PE 8, SK 8, NB 6, NT 6, OutsideCanada 6);

780 forms the salary UI accepted as queue items but PDOC step-2 would

not advance. Those 780 are named, not pending, and not in the rate.

Product: `ADR-003`rounding_compat

(t4127 default; pdoc is a typed not-implemented error until finding 002).

Full write-up:

`docs/findings/002-pdoc-midpoint-direction.md`.

Sampling design

Published PDOC queue: every distinct July live-edition boundary

form the salary UI can enter — ten of fourteen legal P, both claim

codes, fingerprint-deduped. The earlier 15,264 figure assumed all

fourteen P; PDOC cannot capture annual / semi-annual / quarterly /

hourly (1, 2, 4, 2000). Those forms, plus $0 and sub-dollar

gross, are the named uncapturable class below — validated by

invariants and the differential oracle (same as the interior ladder),

not by silently shortening a queue that still claims 15,264.

The spec’s “250,000 cases” target is a case *list*, not a PDOC queue.

At 3 seconds per uncached form, that queue does not finish. The adopted

split is: **every capturable unique live-edition boundary form goes to

PDOC; the interior log-ladder and the uncapturable class do not.**

grid_version 2026.1
grid cells 842304
unique July boundary forms, all 14 legal P (superseded) 15264
PDOC queue (10 capturable P, distinct after dedup) 9762
unique July uncapturable forms 5502
wall clock at 3 s / uncached form 8h 8m
overnight 8 h capacity 9600
log-ladder cells (invariants only) 748896
DateBeforeCoverage cells (engine error) 140354

Grid cells collapse heavily onto PDOC fingerprints; the finished capture

count will be at most the distinct-form figure above (smoke already showed

cache hits from overlapping forms).

Run conditions

grid_version 2026.1
engine_build_sha256 a9539a4b50fc366572a3c1d3f2fb3c2dda1cc81128a30ce8ca409a139333748b
rule_set_versions 2026-01-01, 2026-07-01
rule_set_sha256 b4ff871759d97fdf910b4d39a1ef36c2923fd306d1d954e64d0e2d69e5a84a73
PDOC identity 2026-06-11 (M1); form:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 (grid queue)
browser chromium 153.0.8010.12
harness pdoc-oracle-harness
latest PDOC retrieved_at 2026-09-15T03:41:47.438Z

Cases by oracle class

Each grid cell is named with the oracle allowed to validate it.

Boundary cells that share a PDOC-visible fingerprint collapse to one

form; the queue size is the unique-form count above, not the cell count.

Jurisdiction P Rule set Oracle class Cells
AB 1 2026-01-01 invariants 2328
AB 1 2026-01-01 uncapturable 396
AB 1 2026-07-01 invariants 1552
AB 1 2026-07-01 uncapturable 264
AB 1 none engine_error 908
AB 2 2026-01-01 invariants 2328
AB 2 2026-01-01 uncapturable 324
AB 2 2026-07-01 invariants 1552
AB 2 2026-07-01 uncapturable 216
AB 2 none engine_error 884
AB 4 2026-01-01 invariants 2322
AB 4 2026-01-01 uncapturable 246
AB 4 2026-07-01 invariants 1548
AB 4 2026-07-01 uncapturable 164
AB 4 none engine_error 856
AB 10 2026-01-01 pdoc 234
AB 10 2026-01-01 invariants 2256
AB 10 2026-01-01 uncapturable 12
AB 10 2026-07-01 pdoc 156
AB 10 2026-07-01 invariants 1504
AB 10 2026-07-01 uncapturable 8
AB 10 none engine_error 834
AB 12 2026-01-01 pdoc 234
AB 12 2026-01-01 invariants 2232
1146 more slices in conformance.json

Full slice table: `conformance.json` census.

Corpora

m1-ontario-2026-01

oracle class pdoc
defined 20
measured 20
pending 0
exact matches 20
agreement rate 20/20

grid-2026.1-pdoc-boundary

oracle class pdoc
defined 9762
measured 8982
pending 0
exact matches 8818
agreement rate 8818/8982

grid-2026.1-uncapturable-boundary

oracle class uncapturable
defined 5502
measured 0
pending 5502
exact matches 0
agreement rate *not a PDOC corpus; invariants + differential oracle (§16.2), not per-cell PDOC*

grid-2026.1-interior-invariants

oracle class invariants
defined 751080
measured 0
pending 751080
exact matches 0
agreement rate *not a PDOC corpus; invariants + differential oracle (§16.2), not per-cell PDOC*

Disagreements

id provincial_tax federal_tax cpp net_pay
AB-P10-11704.49-F0-P0 0.01 -0.01
AB-P10-11704.51-F1-P1 0.01 -0.01
AB-P10-15425.91-F0-P0 0.01 -0.01
AB-P10-18144.00-F1-P1 0.01 -0.01
AB-P10-24681.29-F1-P1 0.01 -0.01
AB-P10-500.00-F0-P0 0.01 -0.01
AB-P10-500.00-F1-P1 0.01 -0.01
AB-P10-6120.01-F0-P0 0.01 -0.01
AB-P10-7460.00-F0-P0 0.01 -0.01
AB-P10-7460.00-F1-P1 0.01 -0.01
AB-P10-8500.00-F0-P0 0.01 -0.01
AB-P10-8500.00-F1-P1 0.01 -0.01
AB-P12-12854.91-F1-P1 0.01 -0.01
AB-P12-15425.91-F0-P0 0.01 -0.01
AB-P12-20567.75-F0-P0 0.01 -0.01
AB-P12-21540.17-F0-P0 0.01 -0.01
AB-P12-30851.66-F1-P1 0.01 -0.01
AB-P13-13956.93-F0-P0 0.01 -0.01
AB-P13-14239.31-F1-P1 0.01 -0.01
AB-P13-18985.63-F0-P0 0.01 -0.01
AB-P13-19883.24-F1-P1 0.01 -0.01
AB-P22-11218.78-F1-P1 0.01 -0.01
AB-P22-16828.18-F0-P0 0.01 -0.01
AB-P22-5320.24-F0-P0 0.01 -0.01
AB-P22-7011.76-F0-P0 0.01 -0.01
AB-P22-8247.27-F1-P1 0.01 -0.01
AB-P24-2550.00-F0-P0 0.01 -0.01
AB-P24-2550.00-F1-P1 0.01 -0.01
AB-P24-3108.33-F0-P0 0.01 -0.01
AB-P24-3541.66-F0-P0 0.01 -0.01
AB-P26-4501.72-F1-P1 0.01 -0.01
AB-P26-5933.03-F1-P1 0.01 -0.01
AB-P26-9492.82-F1-P1 0.01 -0.01
AB-P26-9941.61-F0-P0 0.01 -0.01
AB-P27-4334.99-F0-P0 0.01 -0.01
AB-P27-6720.01-F0-P0 0.01 -0.01
AB-P52-1434.62-F1-P1 0.01 -0.01
AB-P52-1634.62-F1-P1 0.01 -0.01
AB-P52-4746.39-F1-P1 0.01 -0.01
AB-P53-2208.39-F0-P0 0.01 -0.01
BC-P10-500.00-F0-P0 0.01 -0.01
BC-P10-500.00-F1-P1 0.01 -0.01
BC-P10-7460.00-F0-P0 0.01 -0.01
BC-P10-7460.00-F1-P1 0.01 -0.01
BC-P10-8500.00-F0-P0 0.01 -0.01
BC-P10-8500.00-F1-P1 0.01 -0.01
BC-P13-4501.76-F0-P0 -0.01 0.01
BC-P13-4501.76-F1-P1 -0.01 0.01
BC-P24-2098.47-F0-P0 0.01 -0.01
BC-P24-2098.47-F1-P1 0.01 -0.01
BC-P26-1728.93-F1-P1 0.01 -0.01
BC-P53-1104.22-F0-P0 0.01 -0.01
BC-P53-950.24-F0-P0 0.01 -0.01
BC-P240-106.55-F1-P1 -0.01 0.01
MB-P10-40000.00-F0-P0 0.01 -0.01
MB-P10-40000.00-F1-P1 0.01 -0.01
MB-P10-500.00-F0-P0 0.01 -0.01
MB-P10-500.00-F1-P1 0.01 -0.01
MB-P10-7460.00-F0-P0 0.01 -0.01
MB-P10-7460.00-F1-P1 0.01 -0.01
MB-P10-8500.00-F0-P0 0.01 -0.01
MB-P10-8500.00-F1-P1 0.01 -0.01
MB-P13-3615.39-F0-P0 0.01 -0.01
MB-P26-2250.87-F1-P1 0.01 -0.01
MB-P26-2250.89-F0-P0 0.01 -0.01
NB-P10-500.00-F0-P0 0.01 -0.01
NB-P10-500.00-F1-P1 0.01 -0.01
NB-P10-7460.00-F0-P0 0.01 -0.01
NB-P10-7460.00-F1-P1 -0.01 0.01
NB-P10-8500.00-F0-P0 0.01 -0.01
NB-P10-8500.00-F1-P1 0.01 -0.01
NL-P10-500.00-F0-P0 0.01 -0.01
NL-P10-500.00-F1-P1 0.01 -0.01
NL-P10-7460.00-F0-P0 0.01 -0.01
NL-P10-7460.00-F1-P1 0.01 -0.01
NL-P10-8500.00-F0-P0 0.01 -0.01
NL-P10-8500.00-F1-P1 0.01 -0.01
NL-P13-3436.78-F0-P0 0.01 -0.01
NL-P26-1718.39-F0-P0 0.01 -0.01
NL-P53-842.97-F0-P0 -0.01 0.01
NL-P240-930.59-F1-P1 -0.01 0.01
NS-P10-3099.50-F0-P0 0.01 -0.01
NS-P10-500.00-F0-P0 0.01 -0.01
NS-P10-500.00-F1-P1 0.01 -0.01
NS-P10-7460.00-F0-P0 0.01 -0.01
NS-P10-7460.00-F1-P1 0.01 -0.01
NS-P10-8500.00-F0-P0 0.01 -0.01
NS-P10-8500.00-F1-P1 0.01 -0.01
NS-P13-2384.24-F1-P1 0.01 -0.01
NS-P22-1408.87-F0-P0 0.01 -0.01
NS-P22-2817.78-F0-P0 0.01 -0.01
NS-P26-1192.11-F0-P0 0.01 -0.01
NS-P240-258.29-F1-P1 -0.01 0.01
NT-P10-500.00-F0-P0 0.01 -0.01
NT-P10-500.00-F1-P1 0.01 -0.01
NT-P10-7460.00-F0-P0 0.01 -0.01
NT-P10-7460.00-F1-P1 0.01 -0.01
NT-P10-8500.00-F0-P0 0.01 -0.01
NT-P10-8500.00-F1-P1 0.01 -0.01
NU-P10-500.00-F0-P0 0.01 -0.01
NU-P10-500.00-F1-P1 0.01 -0.01
NU-P10-7460.00-F0-P0 0.01 -0.01
NU-P10-7460.00-F1-P1 0.01 -0.01
NU-P10-8500.00-F0-P0 0.01 -0.01
NU-P10-8500.00-F1-P1 0.01 -0.01
NU-P13-4501.76-F0-P0 0.01 -0.01
NU-P22-2536.41-F0-P0 0.01 -0.01
NU-P24-2325.05-F1-P1 -0.01 0.01
NU-P26-2250.90-F1-P1 0.01 -0.01
NU-P53-94.34-F0-P0 -0.01 0.01
NU-P53-94.35-F0-P0 -0.01 0.01
NU-P240-1077.00-F0-P0 -0.01 0.01
NU-P240-310.82-F1-P1 -0.01 0.01
ON-P10-15000.01-F1-P1 -0.01 0.01
ON-P10-500.00-F0-P0 0.01 -0.01
ON-P10-500.00-F1-P1 0.01 -0.01
ON-P10-5852.29-F1-P1 -0.01 0.01
ON-P10-744.59-F0-P0 -0.01 0.01
ON-P10-7460.00-F0-P0 0.01 -0.01
ON-P10-7460.00-F1-P1 0.01 -0.01
ON-P10-8500.00-F0-P0 0.01 -0.01
ON-P10-8500.00-F1-P1 0.01 -0.01
ON-P12-21540.18-F0-P0 -0.01 0.01
ON-P12-620.51-F0-P0 0.01 -0.01
ON-P13-19883.24-F0-P0 -0.01 0.01
ON-P13-2769.23-F1-P1 -0.01 0.01
ON-P13-2769.24-F1-P1 -0.01 0.01
ON-P13-4145.46-F1-P1 0.01 -0.01
ON-P13-447.54-F0-P0 0.01 -0.01
ON-P13-447.55-F0-P0 0.01 -0.01
ON-P22-909.10-F1-P1 0.01 -0.01
OutsideCanada-P10-500.00-F0-P0 0.01 -0.01
OutsideCanada-P10-500.00-F1-P1 0.01 -0.01
OutsideCanada-P10-7460.00-F0-P0 0.01 -0.01
OutsideCanada-P10-7460.00-F1-P1 0.01 -0.01
OutsideCanada-P10-8500.00-F0-P0 0.01 -0.01
OutsideCanada-P10-8500.00-F1-P1 0.01 -0.01
PE-P10-500.00-F0-P0 0.01 -0.01
PE-P10-500.00-F1-P1 0.01 -0.01
PE-P10-7460.00-F0-P0 0.01 -0.01
PE-P10-7460.00-F1-P1 0.01 -0.01
PE-P10-8500.00-F0-P0 0.01 -0.01
PE-P10-8500.00-F1-P1 0.01 -0.01
PE-P13-5063.09-F1-P1 -0.01 0.01
PE-P240-445.37-F1-P1 -0.01 0.01
SK-P10-500.00-F0-P0 0.01 -0.01
SK-P10-500.00-F1-P1 0.01 -0.01
SK-P10-7460.00-F0-P0 0.01 -0.01
SK-P10-7460.00-F1-P1 0.01 -0.01
SK-P10-8500.00-F0-P0 0.01 -0.01
SK-P10-8500.00-F1-P1 0.01 -0.01
SK-P12-4544.33-F1-P1 0.01 -0.01
SK-P52-1048.69-F1-P1 0.01 -0.01
YT-P10-500.00-F0-P0 0.01 -0.01
YT-P10-500.00-F1-P1 0.01 -0.01
YT-P10-50000.00-F0-P0 0.01 -0.01
YT-P10-50000.00-F1-P1 0.01 -0.01
YT-P10-7460.00-F0-P0 0.01 -0.01
YT-P10-7460.00-F1-P1 0.01 -0.01
YT-P10-8500.00-F0-P0 0.01 -0.01
YT-P10-8500.00-F1-P1 0.01 -0.01
YT-P13-384.60-F0-P0 0.01 -0.01
YT-P13-384.61-F0-P0 0.01 -0.01
YT-P24-208.33-F0-P0 -0.01 0.01

Full request / engine / PDOC maps: `conformance.json` corpora[].disagreements.

AB-P10-11704.49-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-11704.51-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-15425.91-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-18144.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-24681.29-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-6120.01-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P12-12854.91-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P12-15425.91-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P12-20567.75-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P12-21540.17-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P12-30851.66-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P13-13956.93-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P13-14239.31-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P13-18985.63-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P13-19883.24-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P22-11218.78-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P22-16828.18-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P22-5320.24-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P22-7011.76-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P22-8247.27-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P24-2550.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P24-2550.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P24-3108.33-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P24-3541.66-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P26-4501.72-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P26-5933.03-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P26-9492.82-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P26-9941.61-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P27-4334.99-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P27-6720.01-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P52-1434.62-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P52-1634.62-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P52-4746.39-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

AB-P53-2208.39-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P13-4501.76-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P13-4501.76-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P24-2098.47-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P24-2098.47-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P26-1728.93-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P53-1104.22-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P53-950.24-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

BC-P240-106.55-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P10-40000.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P10-40000.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P13-3615.39-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P26-2250.87-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

MB-P26-2250.89-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NB-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NB-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NB-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NB-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NB-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NB-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P13-3436.78-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P26-1718.39-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P53-842.97-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NL-P240-930.59-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P10-3099.50-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P13-2384.24-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P22-1408.87-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P22-2817.78-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P26-1192.11-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NS-P240-258.29-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NT-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NT-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NT-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NT-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NT-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NT-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P13-4501.76-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P22-2536.41-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P24-2325.05-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P26-2250.90-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P53-94.34-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P53-94.35-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P240-1077.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

NU-P240-310.82-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-15000.01-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-5852.29-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-744.59-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P12-21540.18-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P12-620.51-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P13-19883.24-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P13-2769.23-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P13-2769.24-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P13-4145.46-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P13-447.54-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P13-447.55-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

ON-P22-909.10-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

OutsideCanada-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

OutsideCanada-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

OutsideCanada-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

OutsideCanada-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

OutsideCanada-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

OutsideCanada-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

PE-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

PE-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

PE-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

PE-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

PE-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

PE-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

PE-P13-5063.09-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

PE-P240-445.37-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

SK-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

SK-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

SK-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

SK-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

SK-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

SK-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

SK-P12-4544.33-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

SK-P52-1048.69-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P10-500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P10-500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P10-50000.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P10-50000.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P10-7460.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P10-7460.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P10-8500.00-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P10-8500.00-F1-P1

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P13-384.60-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P13-384.61-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

YT-P24-208.33-F0-P0

M-003 PDOC midpoint direction: 1¢ engine vs PDOC on identically specified inputs. Counts in the agreement rate.

Closed — D-007 biweekly mid-year K2

Vector: on-biweekly-midyear-k2-max (matches under pdoc_observed).

Published as M-002. PDOC does not force base_max in the reaching

period. That is a fact about PDOC, stated with inversion in

findings/001.

Open — M-003 PDOC midpoint direction

Live disagreement (counts in the rate). T4127 half-up at a midpoint

goes up; PDOC is sometimes 1¢ lower. Not Alberta-specific (AB is dense).

Finished July queue: 164 one-cent disagreements (counted in the rate) and

780 step-2 non-advances (named, not in the rate). Condition unnamed.

rounding_compat: pdoc is a typed error

(ADR-003).

findings/002.

Cases where PDOC is believed wrong

None settled. M-003 is an open PDOC midpoint-direction delta — not a declared PDOC error.

M-002 remains a selectable k2_method difference under the default.

Coverage gaps

M1 measured results (complete corpus)

Ontario 2026-01, twenty vectors, operator manual, PDOC 2026-06-11.

All twenty match. See crates/takehome-core/tests/vectors/pdoc_ontario_2026_01.json.

M2 exit checklist

Criterion State
Ingest round-trips to hand-authored Ontario and federal files yes (test 6)
Thirteen jurisdictions, both 2026 editions, test 28 and 28b yes
July delta overlay; ten unchanged jurisdictions byte-identical yes
BC/NL/PE OptionScoped proration on both options yes
2026-06-30 / 2026-07-01 boundary pair BC, NL, PE, ON yes
Quebec typed unsupported, never federal-only yes
Grid deterministic, versioned, boundary-present, even yes (2026.1)
Oracle sampling design decided, public, finishable yes (this section)
Conformance report with the real number and every disagreement this file
Findings 001 (K2) and M-001 discontinuity written up yes
Tagged v0.3.0-m2 after this report is committed

M0 arithmetic canaries