6 Commits
Author SHA1 Message Date
Claude c4fb086f1d Fix bugs found in post-refactor audit
- verify-mvt.sh: remove dead first _info= line (used MVT_START before
  defined); fix JPEG size loop to accumulate bytes correctly and display
  human-readable total; show size in delete confirmation
- montage-mvt.sh: grep -c uses || echo 0 instead of || true to be
  unambiguous about the no-match value under set -e
- capture.sh, capture-watchdog.sh: require camera name arg, remove
  silent SUNRISE_CAM fallback
- migrate-seasons.sh: require --cam arg, error if missing
- README.md, sky-cam.conf: remove stale fullday-video.sh references;
  README pipeline diagram updated to show verify-mvt.sh

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
2026-04-20 16:34:05 +00:00
Claude 8c752fc165 Require camera name explicitly across all seasons scripts
No script defaults to SUNRISE_CAM (east) for the seasons pipeline.
Every direction is treated equally — camera name is a required arg,
not an optional override.

- 4-seasons.sh: $1 required, exits with usage if missing
- montage-mvt.sh: arg order changed to <cam> [date]; $1 required
- year-end-join.sh: $2 (cam) required
- verify-mvt.sh: $4 (cam) required
- migrate-seasons.sh: example commands updated to new arg order
- README.md: montage-mvt.sh examples updated

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
2026-04-20 16:28:15 +00:00
Claude 04809cfe90 migrate-seasons.sh: add --cam flag, include Summer in search
--cam NAME overrides SUNRISE_CAM so the script can be used for any
camera (e.g. north).  Summer is now included in the find targets so
any ASTRO_YEAR=2025 Summer clips (Summer 2026) are also migrated.

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
2026-04-20 15:05:15 +00:00
Claude 331bce38c4 Simplify migrate-seasons.sh: migrate all clips, drop quarantine logic
All *-final.mp4 clips are valid footage regardless of what speed factor
the old script used — montage-mvt.sh re-adjusts the full concatenated
video to match music duration anyway, so per-clip speed is irrelevant.

Move every ASTRO_YEAR=2025 clip to the correct new movement directory
based on its date. Spring Mvt1 now gets all 30 clips (Mar 21–Apr 19).

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
2026-04-20 14:16:13 +00:00
Claude 7affbc5c54 Revise migrate-seasons.sh: ASTRO_YEAR=2025 only, move not symlink, quarantine bad clips
- Filter to ASTRO_YEAR=2025 (Winter 2025-26 onward); skip Autumn 2025 and earlier
- Move files instead of creating symlinks
- Quarantine clips matching Day<N>of92 (Spring clips from broken script with
  wrong 92-day movement total) to quarantine-old-scripts/ for review + deletion
- Preserve clips with Dayof92 (no day number, old legacy format) — these are
  migrated normally since montage-mvt.sh re-adjusts speed regardless
- Summary shows delete commands for temp files and quarantine folder

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
2026-04-20 14:13:12 +00:00
Claude 32b82c7b7d Add one-shot migration script for old-format seasons clips
migrate-seasons.sh uses season_info.py to re-classify every old
*-final.mp4 clip by its YYYY-MM-DD filename prefix, placing a symlink
in the correct new-system directory regardless of how the old system
labelled movements. Handles the boundary mismatches between old and
new movement splits automatically.

Coverage after migration (based on available clips):
  Spring 2026 Mvt1  30/31 days  (missing Day 1 only — excellent)
  Winter Mvt1       ~18/29 days
  Winter Mvt2       ~24/29 days
  Winter Mvt3       ~20/31 days
  Autumn Mvt1       ~24/30 days
  Autumn Mvt3       ~18/30 days
  Autumn Mvt2       absent — year-end join will not fire for 2024 cycle

https://claude.ai/code/session_01C4jbd3waXG3eKZYbGUjLUQ
2026-04-20 14:01:01 +00:00