YachtMemory Phase 1C.1b - test repair v1.1
==========================================

This package replaces ONLY:
  shared_dashboard/scripts/test_stay_revision_writer.php

StayWriter.php is intentionally NOT included and NOT changed.

Root cause of v1 test failure
-----------------------------
StayDetector::detect() returns a diagnostic result array containing metadata and
the actual detected stay list under ['stays'].

The v1 test incorrectly passed the complete detector result to StayWriter::plan().
The validated YachtMemory Stay Context diagnostic already uses the correct
contract:
  $detected = StayDetector::detect(...);
  $stays = is_array($detected['stays'] ?? null) ? $detected['stays'] : [];

v1.1 follows that exact contract.

Safety
------
Default mode is DRY RUN.
No write occurs unless --apply is supplied explicitly.
Do NOT use --apply before reviewing the dry-run output.

Install / test
--------------
  unzip -o YachtMemory_StayProcessing_Phase1C1b_TestFix_v1_1.zip
  php -l shared_dashboard/scripts/test_stay_revision_writer.php

Then:
  php shared_dashboard/scripts/test_stay_revision_writer.php \
    1 \
    "2026-06-01 00:00:00" \
    "2026-09-24 23:59:59"
