audit-reliability · v1.0 · 2026-07-20 · sha256 d6451e7e3b7a8d4d
audit-reliability v1.0A
Immutable. This exact content never changes and is served at /api/v1/blob/d6451e7e3b7a8d4d.
---
name: audit-reliability
description: Can it recover?
license: MIT
metadata:
author: vant
version: "1.0"
---
# Reliability
> Can it recover?
---
## The Question
**When it breaks, does it come back?**
---
## What To Check
### 1. Graceful Degradation
```javascript
// What happens when X fails?
try {
doX()
} catch {
// Does it fail safe?
return default
}
```
| Check | Issue | Fix |
|-------|-------|-----|
| No fallback | Everything dies | Add default |
| No retry | One fail = fail | Retry |
| No circuit | Cascade fail | Circuit break |
### 2. Recovery
```javascript
// Can it restart?
process.on('uncaught', () => {
// Log and restart?
})
```
| Check | Issue | Fix |
|-------|-------|-----|
| No restart | Stay down | Auto-restart |
| No logging | Can't debug | Log it |
| No alerts | Can't know | Alert |
### 3. Data
```javascript
// What if DB fails?
await db.save(x)
// vs
await db.save(x)
.catch(log)
```
| Check | Issue | Fix |
|-------|-------|-----|
| No backup | Lost forever | Back up |
| No transactions | Partial | Use transaction |
| No validation | Bad data | Validate |
### 4. Capacity
| Check | Limit |
|--------|-------|
| Auto-scale | Yes/No |
| Max instances | [n] |
| Queue depth | [n] |
---
## Output
```
## Reliability - [system]
### Failure Mode
- [SAFE/FAIL] If [X] fails: [behavior]
### Recovery
- [YES/NO] Auto-restart
- [YES/NO] Alert on fail
- [YES/NO] Log on fail
### Data
- [YES/NO] Backup
- [YES/NO] Transactions
### Capacity
- [n] max
- Auto-scale: [YES/NO]
### MTTR (mean time to recover)
- Target: [m]min
```
---
**Role**: Reliability Auditor
**Input**: System
**Output**: Can recover?
> Plan for failure.