YachtMemory - Stay Processing Phase 1C.1a
============================================

Purpose
-------
Introduce explicit revision numbers for persisted Stays and their enrichment
results. This package does NOT yet change StayWriter or StayEnrichmentWriter.

Changes
-------
yachtmemory_derived.stays:
  revision INT UNSIGNED NOT NULL DEFAULT 1

yachtmemory_derived.stay_enrichment:
  stay_revision INT UNSIGNED NOT NULL DEFAULT 1

Existing rows therefore represent revision 1.

Installation
------------
From /var/www/app.yachtmemory.net:

  unzip -o YachtMemory_StayProcessing_Phase1C1a_v1.zip

  sudo mysql yachtmemory_derived < shared_dashboard/sql/06_stay_revision_phase1c1a.sql

  php -l shared_dashboard/scripts/verify_stay_revision_phase1c1a.php

  php shared_dashboard/scripts/verify_stay_revision_phase1c1a.php

Expected current Silent Sea result
----------------------------------
  Stays: 36
  Invalid stay revisions: 0
  Missing enrichments: 0
  Invalid enrichment revisions: 0
  Revision mismatches: 0
  RESULT: OK

Each Stay should show:
  stay_revision=1 | enrichment_revision=1

Stay #1-35 should remain CLOSED.
Stay #36 should remain OPEN.

Important
---------
Do NOT rerun the SQL migration after it has succeeded: ALTER TABLE ADD COLUMN
without IF NOT EXISTS is deliberately used so an accidental second migration
fails visibly rather than hiding migration-state mistakes.

No production telemetry data is changed. SilentMessDB is not accessed.
No Stay boundaries, lifecycle states, enrichment metrics, or processing states
are changed by this package.
