fetch_ml/internal/config
Jeremie Fraeys e127f97442
chore: implement centralized path registry and file organization conventions
Add PathRegistry for centralized path management:
- Create internal/config/paths.go with PathRegistry type
- Binary paths: BinDir(), APIServerBinary(), WorkerBinary(), etc.
- Data paths: DataDir(), JupyterStateDir(), ExperimentsDir()
- Config paths: ConfigDir(), APIServerConfig()
- Helper methods: EnsureDir(), EnsureDirSecure(), FileExists()
- Auto-detect repo root by looking for go.mod

Update .gitignore for root protection:
- Add explicit /api-server, /worker, /tui, /data_manager rules
- Add /coverage.out and .DS_Store to root protection
- Prevents accidental commits of binaries to root

Add path verification script:
- Create scripts/verify-paths.sh
- Checks for binaries in root directory
- Checks for .DS_Store files
- Checks for coverage.out in root
- Verifies data/ is gitignored
- Returns exit code 1 on violations

Cleaned .DS_Store files from repository
2026-02-18 16:48:50 -05:00
..
constants.go feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
paths.go chore: implement centralized path registry and file organization conventions 2026-02-18 16:48:50 -05:00
resources.go Fix multi-user authentication and clean up debug code 2025-12-06 12:35:32 -05:00
security.go feat(api): refactor websocket handlers; add health and prometheus middleware 2026-01-05 12:31:07 -05:00
shared.go refactor: Phase 3 - fix config/storage boundaries 2026-02-17 12:49:53 -05:00
smart_defaults.go refactor: replace panic with error returns and update maintenance 2026-02-18 14:44:21 -05:00
validation.go Fix multi-user authentication and clean up debug code 2025-12-06 12:35:32 -05:00