YachtMemory - Stay Processing Phase 1C.1e-a2 ================================================ Purpose: Add enrichment_input_revision to stay_processing so a later worker can distinguish a retry/processing state for the SAME input revision from a genuinely NEW Stay revision. This phase does NOT change StayProcessingWriter.php or worker behavior. Migration behavior: 1. Adds nullable enrichment_input_revision. 2. Initializes it only for COMPLETE Enrichment rows whose persisted stay_enrichment.stay_revision demonstrably equals stays.revision. 3. Does not alter status fields or attempt/retry metadata. Important: - Run the SQL migration ONCE. - Do not rerun earlier 1C.1e-a migrations. - SilentMessDB is not touched. - The verifier is READ ONLY. From /var/www/app.yachtmemory.net: cat database/migrations/05_stay_processing_enrichment_input_revision.sql php -l shared_dashboard/scripts/verify_stay_processing_input_revision.php mysql -u admin -p yachtmemory_derived \ < database/migrations/05_stay_processing_enrichment_input_revision.sql php shared_dashboard/scripts/verify_stay_processing_input_revision.php Expected current baseline: - 36 processing rows. - no NULL/invalid/mismatching enrichment_input_revision. - #1-35 normally revision 1. - #36 was revision 3 at the last controlled validation; if the Stay has been deliberately reprocessed since then, the verifier checks consistency rather than hard-coding revision 3. - all Enrichment statuses remain COMPLETE. - Geography, Classification and Overall remain PENDING. - all phase-specific attempt/retry metadata remains zero/NULL.