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 --agent claude --uninstall
debugging-engine --agent all --uninstall --force
debugging-engine uninstall-cli # uv tool uninstall debugging-engine
Skills:
debugging-engine-investigate— general debuggingdebugging-engine-incident— production incidentsdebugging-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 v3.1 RFC: docs/rfc/.
| Parts | Status |
|---|---|
| I–VI | Normative |
| VII | Informative |
Roadmap and ADRs: docs/roadmap.md, docs/decisions/.
Repository layout
| Path | Role |
|---|---|
docs/rfc/ |
Specification |
docs/api.md |
Public framework API |
docs/decisions/ |
ADRs |
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file debugging_engine-0.8.0.tar.gz.
File metadata
- Download URL: debugging_engine-0.8.0.tar.gz
- Upload date:
- Size: 38.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
629d4ab1cc5b3fe58b98bec3a1357469004b28e11bdc1120a68f29663498b0f9
|
|
| MD5 |
1915083d398325abe9e98f290496e435
|
|
| BLAKE2b-256 |
7c7caa125e3a6e1636899d0635fcf86d394a92c34fac8f7c101e385e99a99581
|
File details
Details for the file debugging_engine-0.8.0-py3-none-any.whl.
File metadata
- Download URL: debugging_engine-0.8.0-py3-none-any.whl
- Upload date:
- Size: 44.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.8 {"installer":{"name":"uv","version":"0.10.8","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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
800e875d851645864a8b05f019e6f9269665fd7b60231d589118225c88ea51ad
|
|
| MD5 |
e30c507a313b54beb626dbb9bcdd1511
|
|
| BLAKE2b-256 |
71408e3a8800e59821c3d029343516885adfb6b9fb9d2f83e693f1daaecd722d
|