<ul><li>Fixed CRITICAL: Added <code>ob_start()</code> at top of <code>LocalListingController.php</code> + <code>ob_clean()</code> before every <code>echo json_encode()</code> — stray PHP output from bootstrapped includes (gbl_ns_vars, define_common) in Apache/PHP context was emitting bytes before the JSON opening brace, causing jQuery <code>dataType:"json"</code> to fail and fire the error handler instead of success handler — result: modal dismissed with zero panels rendered (CRITICAL)</li><li>Fixed HIGH: <code>checkLocalListing()</code> return logic — <code>Sdba::update()</code> returns <code>affected_rows</code> which is 0 when data is unchanged; <code>if($ret)</code> evaluated to false returning code:302 even on successful update — JS only renders panels when <code>response.code == 200</code> so results never showed on repeat searches; changed to always return code:200 after DB operation (HIGH)</li><li>Verified end-to-end via HTTP with real session: controller returns clean JSON, code:200, 11 panels, score widget populated</li></ul>