Leakdown

What changed in each release of the CLI.

Releases of the Leakdown CLI, newest first. The full notes live in CHANGELOG.md ↗.

  1. 0.8.0

    Latest release

    A pluggable judge, and every completion claim keeps its page

    • The yes/no rulings can come from somewhere else. Three questions have a yes or no answer rather than prose: was the goal reached, which flow checkpoints were reached, and does the page show an --expect value in other words. Point LEAKDOWN_JUDGE at a module that exports createJudge() and it answers those instead of the AI CLI; its usage is recorded apart, as usageJudge in meta.json. Unset, which is the default, nothing changes, and a judge that is missing or failing never ends a session.
    • Every completion claim leaves its page behind. A session that claims it is done appends to verifications.jsonl: the page that was judged, the verdict, and any --expect results. A rejected completion used to say only that it was rejected; now you can read the page and judge for yourself, and past runs can be replayed without re-visiting the site.
  2. 0.7.0

    Assertions, could-not-run, your own flows, A/B

    • Goal tests can assert values. --expect "total=$96.00", repeatable, makes a completion count only when the page shows the value. The report's Assertions section quotes what it found.
    • "Could not run" is its own verdict. An unreachable page, a model that stops answering or a setup error no longer reads as a guardrail stop. --goal exits 0 (all passed), 1 (a session failed on the site) or 2 (could not run).
    • Write your own flows. flows/<id>.yaml holds a journey as ordered steps. --validate-flow checks them without a browser; --flow-file runs one. A stop_after step ends the session completed when its text shows.
    • A/B on your laptop. --variant labels a run and --compare writes COMPARE.md: sessions, completed, leaked, an interval per variant, and one verdict.
    • Ready for outside testers. --version; a mistyped flag is an error. Every report carries the version. VERDICTS.md is written once per report. --doctor checks ffmpeg. video.webm is deleted once video.mp4 exists (37% less disk per session). Scrolling no longer waits for the network, up to a minute faster per long page.
    • Reports say how sure they are. Every wall and repeated element ref carries its count with a 95% interval. Under three sessions it says too few to call.
  3. 0.6.0

    Sharper evidence, and the Leakdown name

    • Retina screenshots and playable video. 2560px step screenshots with settled fonts, recordings with reduced motion, video.mp4 (with ffmpeg) and filmstrip.html per session.
    • Rebrand. The command is leakdown (was client-simulator). Env vars are LEAKDOWN_*; CLIENTSIM_* works for one more minor. Local state moved to .leakdown-state.json, and the lockfile is committed.
  4. 0.5.0

    Where runs land, and getting around

    • One folder per run. runs/<site>/<date>/<time>/ with wide/, verify/ and deep/ seats, and RUN.md, AGGREGATE.md, DETAIL.md, VERIFIED.md, REPORT.md.
    • Getting around. --history; --report, --fix and --replication take a site name. A run ends by printing the one number and the first wall.
    • Runs. Every run re-crawls once and asks before rebuilding; --no-map skips it. --random replaces --runs. Per-model reports are always written.
    • Personas. Generated prospects get lesser-known mythological names, so a report never reads as quoting a real person.
  5. 0.4.0

    The map stage and the one-page report

    • Map and aggregate. The crawler's view of the site with broken links, and AGGREGATE.md with DETAIL.md behind it.
    • The ladder and more. --ladder, website orders, analytics.json calibration, the mail watchdog, and a usage limit that stops the queue and names itself.
  6. Earlier

    The foundations

    • Before 0.4. --goal for CI, --mailtest, shareable PDFs, per-model funnels, the expert panel, and the guard that never books a meeting.
Ask the docsalpha
Open full page ↗

Ask the docs anything

Exact paragraphs, their source, and a straight no when the docs do not cover it.

Powered by Jev Alpha — it can pick the wrong paragraph, so check the page it links to

Answers are copied from the docs, never written. Type /help for commands.