Commit a091e23
feat(rebuild): v1.96 PR-05 — module restore truth + post-restore verification
Add post-module-restore verification step between steps 8-12 and POST
validation. Closes the silent daemon-dependent module restoration gap.
Verification checks (Level 1+2 per contract):
- DDoS: nft list chain ip nftban nftban_ddos_filter
- Portscan: nft list chain ip nftban nftban_portscan
- BotGuard: nft list chain ip nftban nftban_botguard
If a module reported RESTORE_OK but its chain is missing from kernel,
result is downgraded to RESTORE_INCOMPLETE. This prevents false
PROTECTED when module enable command returned 0 but the chain was
not actually created (daemon dependency failure).
Level 3 (activation evidence) is not checked here — requires traffic
and produces WARNING only, not DEGRADED (per contract tightening #3).
Contract: V196_REBUILD_RECOVERY_CONTRACT.md §8
INV-RR-007: Module restore failure is surfaced, not silent
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>1 parent 789045d commit a091e23
1 file changed
Lines changed: 42 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1496 | 1496 | | |
1497 | 1497 | | |
1498 | 1498 | | |
| 1499 | + | |
| 1500 | + | |
| 1501 | + | |
| 1502 | + | |
| 1503 | + | |
| 1504 | + | |
| 1505 | + | |
| 1506 | + | |
| 1507 | + | |
| 1508 | + | |
| 1509 | + | |
| 1510 | + | |
| 1511 | + | |
| 1512 | + | |
| 1513 | + | |
| 1514 | + | |
| 1515 | + | |
| 1516 | + | |
| 1517 | + | |
| 1518 | + | |
| 1519 | + | |
| 1520 | + | |
| 1521 | + | |
| 1522 | + | |
| 1523 | + | |
| 1524 | + | |
| 1525 | + | |
| 1526 | + | |
| 1527 | + | |
| 1528 | + | |
| 1529 | + | |
| 1530 | + | |
| 1531 | + | |
| 1532 | + | |
| 1533 | + | |
| 1534 | + | |
| 1535 | + | |
| 1536 | + | |
| 1537 | + | |
| 1538 | + | |
| 1539 | + | |
| 1540 | + | |
1499 | 1541 | | |
1500 | 1542 | | |
1501 | 1543 | | |
| |||
0 commit comments