v7.41.0
AI Performance Optimiser — reliability fixes
Three issues surfaced in a real optimisation run on a tall WooCommerce site:
1. Visual check on tall pages no longer fails silently
Hub now scales screenshots wider/taller than 7800px to fit Claude Vision's 8000px hard limit. Plugin detects the legacy oversize error, logs a clear "skipped — page too tall" message, and stops uselessly retrying. New + "image_clamped" + flag surfaces when auto-scaling occurred.
2. Stops re-suggesting already-applied settings
Before the apply loop runs, the plugin now compares each AI recommendation against current settings and drops anything that would be a no-op. Skipped keys are sent back to the AI on the next iteration so it picks fresh levers instead of wasting a slot.
3. Persistent per-URL learning
Settings that cause a ≥10pt mobile drop on a URL are now remembered across runs (60-day TTL, 50-key cap, LRU evicted). On the next One-Click Optimise for the same URL, those settings are filtered out before apply and the AI is told they're proven incompatible. New AJAX handlers: + "ai_record_known_bad, ai_get_known_bad, ai_clear_known_bad" + .