ba5b4b1f4e
Both tables belonged to NO reset category and silently survived every reset, --all included (the hand-maintained table list lagged the schema twice). app_logs gets a new --diagnostics category; tariff_drafts joins --config. A drift guard now compares the category union against sqlite_master before doing anything and refuses on any uncategorized table, so the next new table forces a deliberate one-line decision instead of escaping by omission. Verified on a scratch DB: guard refuses a planted table (exit 1), --all lists both new tables, --diagnostics wipes app_logs. Claude-Session: https://claude.ai/code/session_01Xcm6ikLgGoCxxHrxtjkk5V