Skip to content
View KatoHearto's full-sized avatar

Block or report KatoHearto

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
KatoHearto/README.md
KatoHearto — tools that turn claims into evidence

🌡️ wetbulb — the newest one

"It's only 35 °C."

Heat kills more people than any other kind of weather, and every warning reports the wrong number. Air temperature says almost nothing about whether a body can shed heat — the wet-bulb temperature decides it. At 45 °C in dry desert air a healthy person sweats and survives; at 35 °C in humid air they cannot.

The page is a psychrometric state chart, because the insight is positional: the cooler-looking air is the deadly one. It also tells you the thing no heat advice gets right — that in humid heat above 35 °C a fan still helps, and in dry heat it makes things worse.

→ open it · Web · offline, no account


Five tools, one idea

Every one of them takes a sentence developers say every day without checking, and makes it checkable.

🧬 mutant

"My tests are green."

Green means the tests pass. It does not mean they would go red if the code were wrong. mutant breaks your code on purpose, one token at a time, and checks whether the suite notices.

Python · any language with a test command

"We have a backup."

Backup software reports that it ran. That is a different claim from the data can come back. restoreprobe restores files for real and compares the bytes.

Python · directories, zip, tar

"Works on my machine."

Ten rules, each predicting a specific failure on a named platform — the ones your own machine cannot show you, because it is the machine where they work.

Node · zero dependencies

🎯 hitrate

"I was 90 % sure."

Record predictions, resolve them, find out what your confidence is worth. And until there is enough data, it says so instead of guessing.

→ open it in your browser

Web · offline, no account

"It passed when I ran it."

Turns a command run into a record — exit code, output digest, commit, machine — that anybody can re-check later. Run verify --times 6 and flaky tests have nowhere left to hide.

Node · zero dependencies

The common thread

Each tool refuses to state a conclusion its evidence cannot support.

mutant won't score a red baseline. restoreprobe says sample, not proof. hitrate withholds a verdict below ten data points. proofrun prints exactly what it stopped looking at.

A tool that reports a confident number from thin evidence is doing the very thing you reached for it to stop doing.


They found their own bugs

Not a marketing line — the measured list. Each of these was found by running the tool on itself or on real input, and each has a regression test that was verified to fail without the fix.

Tool What it caught
mutant __pycache__ served bytecode compiled from a previous mutant: verdicts were decided by stale bytecode, and the tree was left poisoned. With the fix removed, three fully pinned mutations all falsely survive — a binding score of 0 % where the truth is 100 %.
mutant Run on its own source it scored 45 % and pointed straight at the recovery path — the code deciding whether your files come back. Those gaps are closed; it now scores 58.3 %, and the remaining survivors are documented as cosmetic rather than quietly chased.
restoreprobe ZIP stores local timestamps, not UTC. Reading them as UTC dated every archive written east of Greenwich into the future — and a backup dated in the future can never be reported as stale. The age check was silently dead for most of the world.
portlint Its own absolute-path rule fired on the documentation explaining the rule. A linter that cries wolf gets switched off, and then it catches nothing. It reads .gitignore now, and prose is no longer treated as code.
proofrun Asked to verify its own test suite, it said DIFFERENT — correctly. Node's TAP summary prints # duration_ms 3396.35, space-separated; the pattern required a colon, so an ordinary node --test run could never be verified.
wetbulb Rendering the page and looking at it caught two things reasoning had not: the ventilation window told people to open up at 17:00 into 34 °C air for a 1.3 °C gain, and the first fix for an apparent overflow was an overflow-x: hidden that hid the symptom — the overflow turned out to be the screenshot rig, which will not lay out below ~496 px.
hitrate Has no browser in CI, so its smoke test builds getElementById from the real id list in index.html. Rename a section and the test names it. Verified by doing exactly that.

How to read these repositories

Every one ships with the same four things, because a tool that asks you to verify things should be verifiable itself:

  • A runnable example that is honest about what it shows — the weak test suite really is weak, the sabotaged backup really is broken.
  • README output that was copied from a real run, never typed.
  • An "Honest limits" section, naming what the tool cannot do and what to use instead.
  • CI on Linux, macOS and Windows, including a job that asserts the tool still catches its own demo. A check that cannot go red is not a check.

MIT licensed · built in the open · issues and corrections welcome

Popular repositories Loading

  1. SIA-Structural-Integrity-Analyzer SIA-Structural-Integrity-Analyzer Public

    Python 2

  2. mutant mutant Public

    Prove whether your tests actually bind your code.

    Python

  3. restoreprobe restoreprobe Public

    A backup you have never restored is a rumour. Restore a sample for real and compare the bytes.

    Python

  4. portlint portlint Public

    Find what breaks on the other operating system, before somebody else finds it for you.

    JavaScript

  5. hitrate hitrate Public

    Find out what your "90 % sure" is actually worth.

    JavaScript

  6. proofrun proofrun Public

    Turn a command run into a record you can check later.

    JavaScript