Skip to main content

Debugging Engine

Debugging Engine (State Machine–Driven Agentic Debugging Workflow) is an investigation kernel, not a chat agent.

Coding agents (Cursor, Claude Code, Copilot, Codex, …) drive it through a CLI or the Python library. The engine owns Case State, the Event Log, validation, projections, and Judge scheduling. It does not embed an LLM.

Why

  • Investigation state is explicit (Case / Unknown / Hypothesis / Experiment / Evidence), not buried in chat
  • A Judge schedules the next role and allowed events — agents advance the case, they don’t “find the answer” alone
  • Experiments carry Verification Specs; evidence beats persuasion
  • Same kernel for every coding agent via project skills

Install

uv tool install debugging-engine

Local checkout:

uv tool install --force .
# or
uv pip install -e ".[dev]"

Quick start

# Scaffold skills into the current project
debugging-engine --agent cursor   # or: claude, copilot, codex, all

# Describe the unknown
# (create issues/my-bug.md with symptoms + success criteria)

debugging-engine open issues/my-bug.md
debugging-engine next <case-id>
# … reason / edit outside the kernel …
debugging-engine submit <case-id> --events events.json
debugging-engine verify <case-id> <experiment-id>

Loop until RootCauseAccepted or escalate.

Scaffold & uninstall

Agent Skill root
claude .claude/skills/
cursor .cursor/skills/
copilot .github/skills/
codex .agents/skills/
debugging-engine --agent claude,cursor
debugging-engine --agent all
debugging-engine --agent cursor --force
debugging-engine --agent cursor --path /other/repo

debugging-engine --uninstall claude
debugging-engine --uninstall all --force
debugging-engine uninstall-cli    # uv tool uninstall debugging-engine

Empty agent skill directories (for example .agents/ or .claude/skills/) are removed when uninstall leaves them empty.

Skills:

  • debugging-engine-investigate — general debugging
  • debugging-engine-incident — production incidents
  • debugging-engine-performance — latency / throughput / memory

CLI

debugging-engine open <issue.md>
debugging-engine next <case-id>
debugging-engine submit <case-id> --events events.json
debugging-engine verify <case-id> <experiment-id>
debugging-engine status|log|replay <case-id>
debugging-engine query <case-id> [slice]

debugging-engine demo       # offline stub investigation (temp fixture)
debugging-engine validate   # Phase 2 architectural scenarios (temp fixture)

Python API

from debugging_engine import Case, Engine

engine = Engine(repo_root=".")
case = Case.open(engine, "issues/my-bug.md")
task = case.next()
# case.submit([...]); case.verify(experiment_id)

Full surface: docs/api.md.

Specification

Debugging Engine v1.0.0 specification: docs/SPECIFICATION.md.

Parts Status
I–VI Normative
VII Informative

Repository layout

Path Role
docs/SPECIFICATION.md Official Debugging Engine v1.0.0 specification
docs/api.md Public framework API
src/debugging_engine/ Kernel, CLI, skill templates, offline fixtures
.cursor/skills/ Cursor skills (synced from package templates)
.debugging-engine/cases/ Local Event Logs (gitignored)

Development

uv pip install -e ".[dev]"
pytest
uv build
uv publish   # requires UV_PUBLISH_TOKEN / PyPI credentials

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

debugging_engine-1.0.1.tar.gz (39.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

debugging_engine-1.0.1-py3-none-any.whl (44.9 kB view details)

Uploaded Python 3

File details

Details for the file debugging_engine-1.0.1.tar.gz.

File metadata

  • Download URL: debugging_engine-1.0.1.tar.gz
  • Upload date:
  • Size: 39.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for debugging_engine-1.0.1.tar.gz
Algorithm Hash digest
SHA256 e408a9bfb50b4ca7ac9407511b0c5f9df1f77641623402b4759f4d8e97aa6491
MD5 4ae1fd2942f21caa52d6f3df6dcee4e4
BLAKE2b-256 c023acb3464b390fa9a0bc0612550646655393ca951ef04930f76f84eff84d81

See more details on using hashes here.

File details

Details for the file debugging_engine-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: debugging_engine-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 44.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.12.0 {"installer":{"name":"uv","version":"0.12.0","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"22.04","id":"jammy","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for debugging_engine-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 8d240059eee98601ab1871d7f73c8d2a634ccf517e75927743517753721a98a8
MD5 cccdddf885a8170f2d96e24db2678a65
BLAKE2b-256 eba344790e92488add7ee8bd452427994a4b765d83a8070695d2def7b6c8a9e7

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page