Problem
The decision tree classifier exists but is opt-in only. Unknown resources fall back to a weak default handler.
Current behavior:
// src/analyzer/blast-radius.ts
const getRecoverabilityFn = useClassifier // Defaults to false!
? (change, state) => getRecoverabilityDual(change, state)
: getRecoverability;
Default handler for unknown resources:
// src/resources/index.ts
const defaultHandler = {
getRecoverability(change) {
if (!change.actions.includes('delete')) {
return { tier: REVERSIBLE }; // Too permissive!
}
return { tier: RECOVERABLE_WITH_EFFORT };
}
};
Risk
- Non-delete actions on unknown resources auto-pass as
REVERSIBLE
- The trained classifier (which is more conservative) is never invoked
- Users don't know they should enable it
Solution
- Enable classifier by default
- Run dual-verdict mode: deterministic rules + classifier must agree
- Escalate to
NEEDS_REVIEW when they disagree
Tasks
Acceptance Criteria
Priority: P0 — Must fix before monetization
Problem
The decision tree classifier exists but is opt-in only. Unknown resources fall back to a weak default handler.
Current behavior:
Default handler for unknown resources:
Risk
REVERSIBLESolution
NEEDS_REVIEWwhen they disagreeTasks
useClassifierdefault fromfalsetotrueAcceptance Criteria
NEEDS_REVIEWPriority: P0 — Must fix before monetization