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

Concurrency (current)

The Judge returns one next Task at a time. You may propose many hypotheses/experiments in one submit batch, but approve/verify them sequentially on a single case_id. Spec §10 allows parallel experiment execution under constraints; that orchestration is not implemented yet. Event appends use a per-case file lock, and append_many validates the full batch before writing so mid-batch validation failures do not leave partial events.

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

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)

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.5.tar.gz (55.4 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.5-py3-none-any.whl (58.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: debugging_engine-1.0.5.tar.gz
  • Upload date:
  • Size: 55.4 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.5.tar.gz
Algorithm Hash digest
SHA256 2403453e131ba96eb7f53c0a1e5772b361198f15c56646996ab5f387c54b3316
MD5 57231abe8522f0fa43bfa4249066f874
BLAKE2b-256 8c1d2b75756342661dc596182e164654805e9dabc8fc40004052a61d7b18defb

See more details on using hashes here.

File details

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

File metadata

  • Download URL: debugging_engine-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 58.7 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 63898c76d63db6f5f981db461479fa6e69723b767525eb37c14cd01a6bb4fd3e
MD5 95f0864b02935e783b5539b067e1f968
BLAKE2b-256 3c07480aaa7d3ab2c526d8ae61bafe9bff78004ebfa93c7795c9f81fedb14a98

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