Treat tkm as tonne-km in unit reconciliation - #29
Conversation
|
Thanks for this, and sorry it sat without a review — CI on a fork PR needs a maintainer to approve the run, and nobody had, so it reported no checks at all. That's now approved and the results are in. First, one of the two failures is ours, not yours. The alias itself is right. I checked it in both directions, and every spelling reconciles: And it does what #18 asked: 4 answers recover, all
What's missing1. The committed scorer outputs. This is the real failure — Changing the scorer changes the results, so the results have to be regenerated in the same commit. After a rebase onto Which lands here — only
Worth saying plainly: this fix makes the headline slightly worse, and that's fine. Four answers that were being thrown away are now scored, and most of them are wrong. That's the honest direction and it's the point of closing a coverage gap. 2. The published figures that quote them. After regenerating, Those are 3. A test. Something in the shape of No rush on any of this, and thanks for finding a real gap — the freight rows were the largest single-domain block left in the unscoreable pile. |
45f9052 to
14cd3f5
Compare
|
Two things, and an apology for the order they happened in. I pushed a commit to your branch. You had "allow edits by maintainers" on, and I used it to add the parts that were missing — regenerated What's in it: Your test found a bug that wasn't yours. Writing the So this needs one more pass before it merges, and it isn't your doing. #36 changes Claude's numbers, so the figures in my commit will be stale once it lands. The order is:
I'll do step 3 if you'd like, or leave it to you — say which. Either way the alias itself is verified and correct: I checked Current CI on this branch: Thanks for the fix, and sorry again for pushing before asking. |
|
Thanks for explaining everything, and no worries about the push. I’m happy to take care of step 3. I’ll re-run compare.py, paired.py, and absolute.py, then run the offline claims check and report back here. |
|
I completed step 3 locally. compare.py: claude-opus-5: 319 scored, 45.5% ≤10%, 77.4% ≤50% paired.py: claude-opus-5: 26.7% correct without tools → 86.7% with GreenCalculus (+60.0 pts) absolute.py: gpt-5.5: 31.9% of all 467 python verify\check_claims.py --offline also passes: 142 numeric claims checked, 12 explained by allowlist, and 804 figures recomputed from committed data. The four HTTP-only guide surfaces (guide:accuracy, guide:licences, guide:by-category, guide:recommendations) were skipped as expected. git status is clean, so there are no additional changes to push. |
Rebased onto main after greencalculus#36 (the area/denominator fix), so these are the figures the alias produces against final scorer behaviour rather than the ones from before that landed. The alias does what greencalculus#18 asked: four freight answers recover, all None -> a value, no already-scored answer changes. claude-opus-5 scoreable 310 -> 314 within 10% 46.5% -> 46.2% unscoreable 115 -> 111 absolute correct 144 -> 145 of all 467 30.8% -> 31.0% paired, unaided within 10% 37.7% -> 38.1% (n 61 -> 63), >50% off 24.6% -> 23.8% within 50% and >50%-off are unchanged at this rounding, and no other model moves. The headline goes DOWN, which is the honest direction: four answers that were being thrown away are now scored and most of them are wrong. Figures updated in FINDINGS.md, README.md and paper/main.tex, including the abstract's paired sentence and the results table. The coverage paragraph records this as one more step in the sequence -- 115 to 111, 46.5% to 46.2% -- and 46.5% joins the allowlist as the history it now is, beside 45.7%, 42.0% and 41.9%. No current figure is allowlisted. verify/test_tkm_alias.py covers tkm in both directions, the existing spellings, scale carry-through, and that a unit merely containing those letters is untouched. One test documents an open hole rather than asserting a fix: a bare `per km` still reconciles with a tonne-km truth, because the denominator scan stops at km before reaching tonne. That predates this alias and greencalculus#36 did not close it -- see issue greencalculus#35 -- and no answer in the corpus is affected, though the alias does widen it latently since `per tkm` used to be refused as other:tkm. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01NRueWxopDXHoWY2dPvsmLG
14cd3f5 to
1060ab2
Compare
|
#36 has landed, so I've rebased this onto the new Your commit is unchanged. I dropped and redid my own commit rather than resolving conflicts through it, so the figures are the ones the alias actually produces now:
Within-50% and >50%-off are unchanged at this rounding, and no other model moves. CI: What I need from you: a note here saying you're happy with the commit I added, or that you'd rather write it yourself. Either is fine. I won't merge until you've said. The alias itself is verified: |
|
Thanks for the update and for taking care of the regeneration and test. I'm happy with the commit you added and with the final figures. I'm also happy for you to proceed with the merge. |
|
Thank you — and that's a more useful reply than a simple ack, because it's an independent reproduction. Every figure you reported matches what the commit contained, exactly:
Different machine, different OS, same numbers. That's worth more than the check itself — it means One thing to flag, because it crossed with your reply: you ran that against
Nothing about the Given you've confirmed you're happy with the commit and verified the method reproduces, I'm merging this now rather than asking you for a third pass on numbers that only moved because of someone else's fix. If you'd rather have re-run it yourself first, say so and I'll treat that as the standing preference for anything future. The live guide page still shows the pre-merge figures, so Thanks again. #18 is closed by this, and the test written for it is what turned up #35. |
Closes #18
This change adds
tkmas an alias fortonne kmin the unit cleaner, so model answers usingkg CO2e/tkmcan reconcile with corpus units such askg CO2e per tonne-km.Verification:
python verify\check_claims.py --offline— PASSpython verify\figures.py --check-fresh— PASS(0.107, None)Only
units.pyis changed.