The cost-preview probe in get_avg_tokens_for_stages() referenced
input_tokens/output_tokens/timestamp, which don't exist. Canonical
columns are prompt_tokens/completion_tokens/created_at. Empty-result
fallback was masking the failure functionally, but the wpdb debug
notice was visibly leaking to every admin visit of the AI Models tab.
Adds regression tests that assert $wpdb->last_error after the call,
so the next schema drift won't be masked the same way.
Bug present since v0.11.0 (2026-04-23).
Agent-Session: engineer-prautoblogger cost-tracker-schema-mismatch