0.3.0 — English output, and four over-claims removed
npx routeledger
The output is in English
Every finding, warning, label and help line used to be Turkish written without its diacritics — unreadable to the audience this package has, and not correct Turkish either. Nothing about the checks changed; the words did. Code comments and test names went with them, so a contributor can read the repository too.
Four over-claims, all present in 0.2.0
This tool argues that an auditor must not assert more than its evidence supports. An adversarial review of the release held it to that standard and found four places where it did:
-
An unreadable version string walked straight through the version fence.
compareVersionsparses each segment with|| 0, sobanana,v2.2.0,2.1.abcand""all compared as0.0.0— below the fence — and the audit proceeded at full confidence, reportingmodelsServedVerified: trueagainst a transcript format it had never seen. A missing version already closed the fence; a version that cannot be read is less evidence than a missing one, not more. It now closes the fence too and names the string it could not read.versionFencein the JSON report gainsunreadableVersionsandclosed. -
plan-modereturnedokwhen there was no execution phase at all. A session conducted entirely in plan mode has nothing to compare against. That isunverifiable, not "nothing wrong here". -
plan-modecompared the two sides for set equality, and so missed partial overlap. With plan on{fable-5}and execution on{fable-5, opus-4-8}the sets differ, so the old check saidok— while fable-5 had in fact served both sides and the plan-mode boundary had separated nothing. That is precisely the condition the check exists to report. It now flags any shared model and names it. This fires on the session in the README. -
slugForCwddid not implement Claude Code's real encoding. It replaced only\,/and:; the actual rule replaces every non-alphanumeric character (C:\Users\you\.claudeis stored asC--Users-you--claude). Any project path containing a dot, a space or a non-ASCII letter missed its own directory, and a barerouteledgersilently audited the newest session of an unrelated project instead.
Smaller
- The collapsed summary said
21 findings agree — declared model matches the one served, but those 21 came from three different checks and only 13 were declaration matches. It now saysN findings raised nothing, which is true of all of them. 1 turnis no longer printed as1 turns.CHANGELOG.mdships in the package;--sessionshelp says it lists 15; the unuseddescriptionfield was dropped from the subagent metadata type, so nothing user-derived sits within reach of a finding.
46 tests, up from 36 — each fix covered by a case that fails without it.