| Step | Expectation | Result |
| Path: index | file exists | PASS /home/wwwpashu/public_html/psb_arogya_plus/public/index.php |
| Path: api_config | file exists | PASS /home/wwwpashu/public_html/psb_arogya_plus/public/api/config.php |
| Path: api_otp | file exists | PASS /home/wwwpashu/public_html/psb_arogya_plus/public/api/otp.php |
| Path: api_request | file exists | PASS /home/wwwpashu/public_html/psb_arogya_plus/public/api/request_action.php |
| Path: ops_emergency | file exists | PASS /home/wwwpashu/public_html/psb_arogya_plus/public/pashusevak/ops_emergency.php |
| Stray files scan | no suspicious *copy/old* files | PASS |
| DB connect | mysqli->ping() ok | PASS |
| Table: farmers | exists | PASS |
| Table: farmer_profiles | exists | PASS |
| farmers.phone UNIQUE | enforced | PASS |
| OTP health | ok:true | PASS |
| OTP send | ok:true | WARN {"_curl_error":"fallback_failed","_http":500} |
| OTP verify | dev hint not available | SKIP (real OTP unknown) |
| Request API health | JSON with error=missing_action or unknown_action | PASS {"ok":false,"error":"unknown_action","_http":400} |
• Green = PASS, Yellow = WARN, Red = FAIL, Gray = SKIP
• “Stray files” में अगर (copy), (1).php, .old, backup दिखे तो हटा दें — ये अक्सर conflict करते हैं।
• Duplicate रोकने के लिए: ALTER TABLE farmers ADD UNIQUE KEY phone_unique (phone);