tryClientRoute now logs why it falls through: has-data, no content, eval failed, or #main-panel not found. tryEvalContent logs the actual error on catch. Added logWarn platform function (console.warn). Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>