v0.7.1 — the version it reports, and the page teachers land on
A maintenance release. No rule, no threshold and no score changed since 0.7.0 — Core's only edits are comments. What changed is what this project says about itself, in the two places it was saying something false.
signsofai --version reported 0.1.0 for seven releases
The number was written into Program.cs as a constant and never bumped, so the tool answered 0.1.0 while the package shipped as 0.2.0 through 0.7.0. Anyone checking whether they already had a fix was told they were on the first release ever published.
It reads the assembly now, so the reported version and the packed version cannot disagree, and a CI step runs the tool that was just built and compares the two. This release is the first time that is visible from outside: signsofai --version answers 0.7.1.
That is the failure behind the 0.4.0 support message — an app that could not tell you which build it was — one channel over. The desktop was fixed in August and nobody looked at the CLI.
The page for teachers was six days out of date
why.html is the first link in the README: "Are you a teacher? Start here". It was still showing a corpus of ninety texts and zero flagged, in a large green figure, with a bound of 4.1% and engine 0.4.0.
That stopped being true on 1 September, when 206 classroom essays by adults learning English joined the corpus and the published rate became 2 of 296. Nothing on the page was false — the footer dated every figure — but the argument a teacher read was a rate of zero, on the page whose entire purpose is that this project publishes how often it is wrong.
Redrawn against the shipped calibration: 296 dots with two filled, an interval of 0.2–2.4% around a measured 0.7%, and English at 2.7% — the bound at the recommended threshold, not the flattering 1.4% best bound.
The paragraph that changed meaning is the one worth reading. It used to concede that the corpus was "published articles, not student work" and that the difference "is not measured here". It is measured now, and the answer is why the boundary sits at 30 rather than 25.
The guard earned its keep the next day
The page had carried a comment since August asking whoever changed the calibration to regenerate it by hand. The calibration changed twice and nobody did. WhyPageTests now reads the shipped published-calibration.json and requires the page to agree, in both languages.
Cutting this release proved it: bumping the version made the calibration declare 0.7.1, and the test failed by name — The_page_names_the_engine_that_produced_its_figures — instead of letting the page go quietly stale again.
Also #78
"before generative models existed" overclaims: GPT-3 is 2020, so a 2021 text does not satisfy it. Swept everywhere outside the blog, where the worst instance was the corpus manifest carrying that note on fifty Wikipedia revisions from 2021 — the exact case the sentence does not cover. Fixed at the generator so a re-fetch does not reintroduce it. The blog articles keep their wording; they are dated studies.
Calibration
Re-run over all 296 texts. Only the engine field moved: threshold 30/100, 2 of 296 flagged, both bounds, every language and group row, and the corpus fingerprint 78bda061bde3dc99 are unchanged.
Packages
SignsOfAI.Core, SignsOfAI.Cli and SignsOfAI.Mcp at 0.7.1. The desktop app ships the same engine as desktop-v0.7.1.