The Rescue Report
It works. But what did the agent leave behind?
AI-built apps have a second shelf life problem: the code that demos well tonight is the code nobody can safely edit in three months. Dead exports from abandoned attempts, the same function pasted into two files — one of them since fixed, imports of files that don't exist, routes that change your data with no test anywhere. The Rescue Report is the same deterministic engine as the security scan, pointed at maintainability: 12 checks, one Debt Score, fix prompts your AI tool can execute.
Two scores, two moments
The Launch Score answers "is it safe to ship?" — that's the security ruleset. The Debt Score answers "is it safe to keep building?" — that's the rescue ruleset. Same scan run; separate rulesets, separate scores, never blended.
Deterministic, evidence-first
Every finding cites file and line, masked exactly like the security report. Checks that can't be made always-true don't ship — when we can't be sure, the check says nothing rather than guessing. Your code is deleted after the scan by default.
What the 12 rescue checks look for
- R1Exported functions and classes that nothing ever imports — dead code from an unfinished refactor
- R2Large identical blocks of code are copy-pasted in more than one place
- R3Two blocks that started identical have silently drifted apart — one copy changed, the other did not
- R4Your code imports files that don't exist and declares dependencies nothing uses
- R5API routes that create, update, or delete your data have no test coverage
- R6Your README documents API routes that don't exist — and ships routes nobody documented
- R7Single source files have ballooned past 800 lines (UI components past 400) — the agent appended instead of structuring
- R8Three or more packages do the same job — overlapping dependencies for one task
- R9Blocks of commented-out code and a rising tide of TODO markers clutter the codebase
- R10Errors are being swallowed — empty catch blocks and no-op .catch() handlers
- R11Prisma models have no migration — your schema and your database can quietly fall out of sync
- R12Agent session files and scratch directories are committed to your repository
Severity mapping: Critical ≈ structural rot · High ≈ drift · Medium ≈ hygiene · Hygiene ≈ residue. Full detail on each check page under AI code debt.
Get your Debt Score
Run a scan first — the rescue ruleset runs on every scan. Then unlock the full Rescue Report: every finding with evidence, why it matters, and a paste-ready fix prompt that names exact symbols and lines. Already have the Launch Pack? The Rescue Report is included.
FAQ
Is this a security scan?
No — that's the other ruleset. Rescue findings are maintainability debt: they make the codebase harder to change, not exploitable. Many apps want both reports; the Launch Pack bundles them.
Why didn't my AI tool catch this?
It isn't asked to. Agents optimize for the current task — shipping the feature — and each session starts with no memory of what the last session left behind. Project-wide checks like "is this export referenced anywhere?" need a whole-repo view, not a chat window.
Will the fix prompts refactor blindly?
No. Each prompt names exact files, symbols, and lines from the scan evidence, and carries its own guardrails — for example, the divergent-copy prompt states the anti-pattern (fixing one copy and leaving the other is how the drift happened).
DevMeth checks the 48 known AI-code failure patterns — not a penetration test or a security guarantee. Rescue findings describe maintainability debt; they say nothing about security either way.