major-domo-v2/commands/voice
Cal Corum 03dd449551
All checks were successful
Build Docker Image / build (pull_request) Successful in 57s
fix: split read-only data volume to allow state file writes (#85)
The data/ volume was mounted :ro to protect Google Sheets credentials,
but this also prevented all state trackers from persisting JSON files
(scorecards, voice channels, trade channels, soak data), causing silent
save failures and stale data accumulating across restarts.

- Mount only the credentials file as :ro (file-level mount)
- Add a separate :rw storage/ volume for runtime state files
- Move all tracker default paths from data/ to storage/
- Add STATE_HOST_PATH env var (defaults to ./storage)
- Update SHEETS_CREDENTIALS_HOST_PATH semantics: now a file path
  (e.g. ./data/major-domo-service-creds.json) instead of a directory
- Add storage/ to .gitignore

Closes #85

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-17 13:34:43 -05:00
..
__init__.py CLAUDE: Implement voice channel management system 2025-09-24 23:17:39 -05:00
channels.py Consolidate season config variables to single source (v2.21.0) 2025-12-02 16:12:16 -06:00
CLAUDE.md CLAUDE: Refactor voice cleanup service to use @tasks.loop pattern 2025-10-24 00:05:35 -05:00
cleanup_service.py fix: split read-only data volume to allow state file writes (#85) 2026-03-17 13:34:43 -05:00
tracker.py fix: split read-only data volume to allow state file writes (#85) 2026-03-17 13:34:43 -05:00