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"