Ownership and preparation: We own and sell the tool described here. This article was prepared with AI assistance from a first-party automated run of the shipped fictional example on November 12, 2026. It is a commercial introduction, not an independent review or a customer result.
Before buying an evidence tool, you should be able to read its output. This page shows the fictional packet produced by Supabase Recovery Evidence Agent. The full JSON report, Markdown escalation draft, and input fixture are available to inspect without a purchase.
This is an independent product, not affiliated with Supabase. It organizes already-redacted observations locally. It does not log into Supabase, repair infrastructure, determine a definitive root cause, or contact support.
Four timestamped observations, one unknown time
2026-08-28T23:10:00Z billing / invoice: PAID source billing-1
2026-08-28T23:15:00Z control_plane: PAUSED source control-1
2026-08-28T23:18:00Z control_plane: RUNNING source control-2
2026-08-28T23:20:00Z service_health: UNHEALTHY source health-1
Unknown time dns / api-host: RESOLVING source dns-1
This compact display follows the generated timeline. The billing input used 2026-08-28T18:10:00-05:00; the JSON retains that original value and the normalized UTC value. The DNS observation has no timestamp, so it stays explicitly unknown. A resolving hostname does not establish a healthy API, and an invoice marked paid does not establish a running project.
A contradiction flag is a question to investigate
The sample flags PAUSED and RUNNING for the same project within its configured 15-minute window, citing control-1 and control-2. Those observations are three minutes apart. They may describe a state transition; the flag does not prove both states existed at once or diagnose a platform fault. Read the source times before treating a derived finding as a conclusion.
Missing evidence remains visible
The report explicitly lists a missing current project-state observation, impact end time, and support case identifier. None is filled with a guess. The draft keeps the attempted unpause action separate from its reported outcome and proposes questions an operator can edit before contacting support.
Review the generated labels too
The sample JSON says review.status: pending. The Markdown template begins with “Operator-reviewed draft,” but generating that text does not complete a human review. Likewise, a checklist item marked completed reflects the presence of supplied evidence; it does not prove that an operator checked the current state or that the service recovered. Review and correct the draft before relying on or sending it.
Reproduce the packet
The local toolkit requires Python 3.10+ and no third-party packages. After extracting the purchased ZIP, run:
python3 app.py examples/sample_incident.json --output-dir output --clock 2026-08-29T01:00:00Z
The fixed clock belongs to the fictional example. Our Python 3.13.9 run created output/report.json and output/escalation.md. For your own incident, follow the included schema, use actual observations and timestamps, and redact sensitive information before creating the input. Pattern checks are an aid, not an automatic redaction service.
Use the example or get the local generator
You can use the example to evaluate the format and the incident-packet walkthrough to understand the workflow. If you want the local generator, buy it for $1.00 USD with PayPal, or use the product page's 1.00 USDC on Base option. The ZIP is delivered after verified payment; incident response and recovery services are not included.