| 1 |
Clean re-run: delete out/results.json, re-run analysis.py, byte-compare with previous copy |
PASS (identical; sha256 12ac2088...a7d8) |
| 2 |
Input hashes unchanged and equal to README/bundle.json values |
PASS |
| 3 |
National unemployment rate printed consistently: L17 (Highlights) "increased 0.1 percentage points to 6.5%" and L43 (Unemployment rate increases to 6.5%) "rose 0.1 percentage points to 6.5%"; also heading text says 6.5% |
PASS (single value 6.5; script asserts uniqueness) |
| 4 |
Employment change printed consistently: L17 and L24 both "declined by 68,000 (-0.3%)"; sign negative because "declined" |
PASS (-68000) |
| 5 |
Agreement with P2 baseline (manual grep of the same lines) |
PASS (6.5, -68000, men "fell 0.2 ... to 5.8%") |
| 6 |
Locators name an actual ## heading containing the line (L16 for L17; L73 for L74-75) |
PASS |
| 7 |
Regex false-positive screen: provincial/youth/55+ rate sentences ("The unemployment rate in Quebec was...", "youth unemployment rate was little changed at 13.0%", "aged 55 and older rose 0.2 ... to 5.3%") not matched |
PASS (only L17, L43 matched for rate; L17, L24 for employment) |
| 8 |
Assertion: 5 of 6 elements stated, men's direction contradicted ("fell" vs asserted "rose") -> not_supported per task definition |
PASS |
| 9 |
Magnitude sanity: -68,000 vs -0.3% implies employment level ~22.7 million, plausible for Canada; 6.5% within the year's printed range 6.4-6.9% |
PASS |
| 10 |
n_input_rows equal to wc -l (9, 164) |
PASS |
| 11 |
exclusions.csv: 164 - 0 = 164 |
PASS |
| 12 |
No randomness; random_seed null |
PASS |