How DEBUGER investigates failures — honestly, deterministically first, with AI as an optional refinement layer.
Every incident follows one pipeline. Each step produces artifacts you can inspect; nothing is claimed unless evidence supports it.
| Manual entry | Paste errors, stack traces, or logs directly into a new incident. |
| Webhook capture | Point your services at a public endpoint; real requests are captured and inspectable. |
| Deployment & git context | Reference commits and deployments as evidence to ground temporal causality. |
| Integration API | Use an API key to push incidents and evidence programmatically. |
Evidence is parsed into signals — connection timeouts, SQL errors, CDN 502s, npm failures, TLS errors, rate limits, container restarts, secret scans, and more. Signals are grouped into root-cause categories; the earliest, most-supported category becomes the root-cause candidate. Co-occurring signals become contributing factors, and observable failures are tracked as symptoms.
Verification runs deterministic checks only: scanning new evidence for the removed failure pattern, a security scan for exposed secrets, and — when you supply a target URL — an actual reproduction replay. A fix is marked verified only when a check ran and passed.
When an incident is resolved it becomes a memory entry: root cause, resolution, confidence, and pattern. New incidents are compared against memory with term-frequency similarity; matches surface previous incidents, their resolution, and a link. Past lessons actively inform new investigations.
| Backend | Hono (Node), TypeScript, PostgreSQL via Prisma. |
| Auth | scrypt password hashing (node:crypto), opaque session tokens, per-IP rate limiting and abuse detection. |
| Webhooks | Public /w/:slug capture with optional signature verification; replay tooling for live debugging. |
| Deployment | Your own instance — you control the data plane and AI configuration. |
Code: open source on GitHub. Ongoing work, issues and contributions welcome.