Skip to content

Releases: SpeedosDK/predictive-debugger

0.9.0

Choose a tag to compare

@SpeedosDK SpeedosDK released this 26 Sep 20:35
a457788

Measured on 49 benchmark files in full agent sessions with Claude, Copilot and Codex:
this release finds as many bugs as an agent reading the files itself, or more, with
32–69% fewer tokens, and matches v0.8.2's accuracy with Claude at 78% fewer tokens.
With Copilot, v0.8.2 found two more bugs over two sessions at 2.5 times the tokens.
See the results.

Added

  • check_types returns selected JavaScript/TypeScript files' compiler diagnostics
    without model calls. It preserves configured project declarations and options,
    reports incomplete context and limits, and bundles TypeScript's standard libraries.
    Compiler diagnostics are separate from model confidence and runtime predictions.
  • Imported definitions now include CommonJS: require() bindings and exports from
    module.exports/exports. When a required name provably is not exported (the
    module's exports are one complete object literal), the model is told so; in any
    less certain shape nothing is claimed. Not yet benchmarked.
  • Replies to predict_failures include providerVersion, the CLI version that
    produced the verdicts, and cached: true for a reused verdict (below).
  • npm run bench:canary -- --provider=<id> checks an installed CLI against 12
    held-out benchmark files in about a minute and reports PASS or DRIFT.

Changed

  • Small files share model calls: up to eight per call, with a bounded prompt, each
    keeping its own verdict and line validation. Large files still run alone. A file
    whose group verdict names a defect with a score under 0.80, or that the group
    calls clean although it reads, awaits and writes back shared state, is reviewed
    again on its own, and that verdict replaces the group's. Missing or malformed
    group verdicts are unavailable, never clean.
  • Scores are anchored to a trigger the shown code permits and a result the shown
    code contradicts, and the expected behavior must come from the code, not from the
    model's own assumptions.
  • uncertain results are no longer something to ignore: replies containing one add
    check, asking the calling agent to read the cited lines and confirm or dismiss it.
  • Re-reviewing a set after editing one file no longer pays for the unchanged ones.
    Within a server session, identical review input returns the earlier verdict with
    cached: true; failed and unavailable verdicts are never reused.
  • After two failed provider calls in a row, the remaining files fail at once with
    the reason instead of each waiting out its timeout. Re-checks start as soon as
    their group finishes, and files are read and parsed in parallel.
  • Claude reviews no longer make a hidden side call that sent every prompt uncached,
    and no longer load your skills, MCP servers or session files.
  • concurrency counts model calls in flight, each covering up to eight files.
  • bench/RESULTS.md summarizes the current comparison; older reports remain at the
    release tags. npm run bench is replaced by npm run bench:canary.

Security

  • Only JavaScript/TypeScript source files are sent to the model. A path to a .env
    or key file is refused before any provider call, imports resolve only to source
    files, and one call accepts at most 100 files.
  • Each review call starts the CLI in a new, empty temporary folder, deleted
    afterwards. In the project folder, all three CLIs loaded its CLAUDE.md/AGENTS.md
    into every review, costing tokens and letting the repository under review instruct
    its reviewer. See SECURITY.md.
  • Codex reviews turn off Codex's agent tools (shell, patching, web, browser, computer
    use, plugins, sub-agents, image generation). With its defaults, asked to read a
    file, the reviewing Codex called its shell. Each Codex call now sends about 9k more
    uncached tokens, because its shared prompt cache no longer applies.
  • Copilot reviews expose no tools to the model, including MCP tools from your own
    configuration.
  • MCP tools declare themselves read-only and non-destructive, which also lets Codex
    call them with approvals off; v0.8.2 could not run there.

Fixed

  • Brackets in prose before a model's verdict (checked [x], line [12]) no longer
    make the verdict unavailable.
  • An explicit unknown verdict stays unavailable instead of becoming a clean result.

v0.8.2

Choose a tag to compare

@SpeedosDK SpeedosDK released this 24 Sep 13:22
4e9d972

Metadata and documentation patch. The analysis code and prediction behavior are unchanged.

  • Link the website, predictivedebugger.dev, from the README and set it as the npm homepage.
  • Add mcpName and server.json for the official MCP Registry.

Changelog

Validation: 240 tests passed, the production six-tool MCP smoke check passed, and the npm publish dry run verified an isolated npx installation. GitHub CI covers Windows, macOS and Linux on Node 22 and 24.

v0.8.1

Choose a tag to compare

@SpeedosDK SpeedosDK released this 10 Sep 19:02
513f3b3

Documentation-only patch. The analysis code and prediction behavior are unchanged.

  • Put setup first, with expandable instructions for Claude Code, Codex and Copilot CLI.
  • Add example prompts and a concise overview of the six tools.
  • Move advanced setup, tool details and VS Code settings into linked guides.
  • Consolidate privacy and execution details in the security policy.

This patch version is required to update the README displayed on npm. With the version identifier held at 0.8.0, the rebuilt MCP bundle matches the previous release exactly.

Updated README · Documentation · Changelog

Validation: 240 tests passed, the production six-tool MCP smoke check passed, and the npm publish dry run verified an isolated npx installation. GitHub CI covers Windows, macOS and Linux on Node 22 and 24. Documentation links, configuration examples and GitHub Markdown rendering were checked.

v0.8.0

Choose a tag to compare

@SpeedosDK SpeedosDK released this 10 Sep 13:44
031e44b

Predictive Debugger 0.8.0 adds dependency mapping and installation through npm.

  • Run the MCP server with npx -y predictive-debugger@latest, without cloning or building the source. --version and --help are available.
  • Use map_dependencies for imports, reverse imports and connected test files, with source-line evidence and explicit coverage limits.
  • Predictions resolve more wildcard exports, forwarded imports, constructors and large class/object members.
  • Benchmark reports and graphs now use v0.8.0. The measured candidate identified 51/51 planted bug trials with no false alarms. Broader dependency evidence used 3% more total tokens than v0.7.1. These are development cases, not a held-out accuracy estimate; cache differences prevent a monetary savings claim. Results and accounting.

Requires Node.js 22 or later and a supported Claude Code, Codex or Copilot CLI already installed and signed in. The VS Code extension remains an unfinished preview.

npx -y predictive-debugger@0.8.0 --version

Agent setup · Changelog · Release build and benchmark hashes

Validation: 240 tests passed on Windows, the production six-tool MCP smoke check passed, and the npm publish dry run verified an isolated offline npx installation and the packaged Python helper. The GitHub CI matrix covers Windows, macOS and Linux on Node 22 and 24.

v0.7.1

v0.7.1 Pre-release
Pre-release

Choose a tag to compare

@SpeedosDK SpeedosDK released this 07 Sep 11:16
9de9017

Predictive Debugger v0.7.1

Security and reliability patch for v0.7.0. Existing users should update to this version.

  • Reject unsafe Windows CLI arguments before starting a process, preventing command injection through model overrides.
  • Enforce a 4 MB source-file limit before prediction, including files that grow during reading.
  • Stop the Windows CLI process tree on timeout or cancellation; stop the process group on Unix.
  • Update the README download link to v0.7.1.

The analysis rules and model prompt are unchanged. Existing v0.7 demos remain representative; benchmark results were not rerun for this patch.

Validation: 196 tests passed locally on Windows, production build succeeded, and the bundled MCP server passed its smoke test.

Install

Download Source code (zip) from this release, extract it, then run:

npm install
npm run build

Update your MCP configuration to point to dist/mcp-server.js in the extracted folder. Requires Node.js 22 or later and a supported CLI already installed and signed in. JavaScript and TypeScript are supported. The VS Code extension remains an unfinished preview.

v0.7.0

v0.7.0 Pre-release
Pre-release

Choose a tag to compare

@SpeedosDK SpeedosDK released this 05 Sep 20:37
1471427

Predictive Debugger now brings imported types, object methods, re-exports and TypeScript path aliases into its bounded dependency context. Large-file reviews retain complete declarations, and stricter evidence requirements reduce speculative bug reports.

In the Sonnet development benchmark, v0.7 identified 38/39 planted defect trials plus one verified alternative, with zero false alarms across 45 clean-control trials. Observed complete-workflow cost was $1.294, compared with $1.490 for v0.6 and $1.553 for direct reading.

These results cover 13 buggy files and 15 clean controls, repeated three times. The cases informed prompt development, baseline sessions were reused, and cache conditions differed. They are development results, not a guarantee of accuracy or cost on other projects.

Also included:

  • Malformed model verdicts report unavailable instead of clean.
  • Imported bindings respect local shadowing; complexity metrics include do-while loops.
  • Batch reviews share log analysis across files.
  • Superseded benchmarks are removed, and temporary worktrees are excluded from installation packages.

All 192 tests pass. Release-commit CI passes on Windows, macOS and Linux with Node 22 and 24.

Results and graphs | Changelog

This is a prerelease for testing and feedback.

v0.6.0

v0.6.0 Pre-release
Pre-release

Choose a tag to compare

@SpeedosDK SpeedosDK released this 04 Sep 21:28
1f77c32

predict_failures can now review several files in one call. Verdicts run concurrently, stay in request order, and report per-file failures without discarding completed work. The existing single-file input and response shape still work unchanged.

The VS Code project-wide command now uses the same bounded concurrency pool.

Changed

  • Verification guidance now applies whenever an agent checks code it wrote during the session, including new features.
  • Single-file changes get a fresh predict_failures pass. Multi-file changes get a scoped sub-agent review because correctness may depend on how the files fit together.
  • The response field formerly named onFix is now review and is always present, including on clean verdicts.

Full detail is in CHANGELOG.md.

v0.5.2

v0.5.2 Pre-release
Pre-release

Choose a tag to compare

@SpeedosDK SpeedosDK released this 01 Sep 16:12

Two real bugs in the analysis core, both found by running this project's own predict_failures over its src/core/, and both missed by the test suite.

Fixed

A model verdict was thrown away when the reply had prose after it. The end of the JSON was located with lastIndexOf, so commentary containing a } or ] — "the guard at if (a) { return; } already covers it" — moved the cut past the reply and a correct, confident finding was reported as unknown. The end of the value is now found by scanning forward with depth tracking, string- and escape-aware.

export default foo; sent the model const foo = foo instead of the function. An identifier naming a declaration made earlier in the file fell through to the range covering the identifier itself, so the callee excerpt spent tokens to say a function is itself — inside the feature that exists to make the model more accurate. It now resolves through the same alias path a named export uses.

A third report from the same sweep was a false positive and was correctly not acted on: rank() guarantees the finding list is never empty, on a path the model could not see from one module away.

Also in 0.5.x

  • scan_project no longer ranks test files (includeTests to opt back in)
  • The MCP server ships a fix-verification rule as instructions plus an onFix hint
  • README has a beginner primer; the benchmark report defines its terms before using them
  • Code contributions are closed for now; bug reports are open and wanted

Full detail in CHANGELOG.md.

v0.5.1

v0.5.1 Pre-release
Pre-release

Choose a tag to compare

@SpeedosDK SpeedosDK released this 01 Sep 15:48

First public build. This bundles what previously was 0.5.0 (never published as a release) together with 0.5.1, so the notes below cover both.

[0.5.1] — 2026-09-01

Project

  • README gets a beginner on-ramp; the benchmark report defines its terms up
    front.
    A "New to this?" section now sits right after the opening pitch,
    ahead of the existing developer-facing content: what the tool does in one
    sentence, what MCP means, which of the two shapes (VS Code extension or MCP
    server) a reader wants, and the three prerequisites — Node.js, an
    already-signed-in AI coding CLI, and a built checkout.

    bench/RESULTS.md opens with a plain-language paragraph on what the test
    actually did before naming it, and its glossary now appears before the
    Bottom line table uses the terms rather than partway through the report.
    Edited in bench/markdown.mjs, the generator, and regenerated rather than
    hand-edited, so the wording survives the next npm run bench. No measured
    number changed; the charts came back byte-identical.

[0.5.0] — 2026-09-01

Project

  • Code contributions are closed for now; bug reports stay open. The
    interfaces are still moving between releases, so pull requests against them
    would be work spent against decisions that have not settled. Documented in
    CONTRIBUTING.md with the reasoning and the fact that it is temporary. The
    feature-request issue template is gone; the bug template stays, because a
    report from a codebase the author cannot see is what the generated-corpus
    benchmark cannot provide.

Changed

  • scan_project no longer ranks test files (#10). *.spec.*, *.test.*
    and anything under __tests__/__mocks__/test/tests/spec are left
    out; includeTests: true brings them back, and the reply reports
    excludedTests when any were withheld.

    They were never ranked high for a real reason. DENSITY_WEIGHTS scores
    asyncCalls, and a spec file full of mocked awaits reads as async
    complexity while carrying none of the defect risk that weight stands in
    for. Four of the top 25 hits on a real backend were .spec.ts files; on
    this project's own src/, tests took five of the top six slots. Those are
    wasted slots in the one tool whose whole job is spending a limited reading
    budget well.

    The filter is applied at the scan_project call site rather than inside
    collectSourceFiles, so the VS Code project-wide run still covers tests —
    a human who asked for the whole workspace is not paying per file read. The
    predicate itself lives in core/sourceFiles.ts so both surfaces agree on
    what a test file is, and it takes a path relative to the scanned root:
    judged on absolute paths, anyone whose projects sit under a directory named
    test would have had their entire codebase excluded.

Added

  • The server now ships the fix-verification rule itself, as MCP
    instructions plus an onFix hint on predict_failures replies that clear
    the precision gate. It asks the calling agent to have a non-mechanical fix
    reviewed from outside the context that produced it — a sub-agent where the
    host has them, otherwise a fresh predict_failures on the edited file.

    An agent that has just written a fix is the worst-placed reader of it: the
    reasoning that made the fix look right is still in its context, so reviewing
    it from the same seat re-derives the first conclusion instead of testing it.
    An independent pass catches defects the author's pass structurally cannot.
    Left to the agent's judgement this happened on some runs and not others;
    left to each user's project instructions it reached only the users who
    already knew about the failure mode.

    It is a floor, not a ceiling — the agent may verify more often, and a
    mechanical fix is exempt so a typo does not cost two model passes. The hint
    is duplicated on the wire because instructions is sent once at initialize
    and not every client forwards it to the model, while a tool result always
    reaches it; gating it on actionable keeps a clean file's reply free of it.