Jeremie Fraeys
|
8b75f71a6a
|
refactor: reorganize scripts into categorized structure
Consolidate 26+ scattered scripts into maintainable hierarchy:
New Structure:
- ci/ CI/CD validation (checks.sh, test.sh, verify-paths.sh)
- dev/ Development workflow (smoke-test.sh, manage-artifacts.sh)
- release/ Release preparation (cleanup.sh, prepare.sh, sanitize.sh, verify.sh, verify-checksums.sh)
- testing/ Test infrastructure (unchanged)
- benchmarks/ Performance tools (track-performance.sh)
- maintenance/ System cleanup (unchanged)
- lib/ Shared functions (unchanged)
Key Changes:
- Unified 6 cleanup-*.sh scripts into release/cleanup.sh with targets
- Merged smoke-test-native.sh into dev/smoke-test.sh --native flag
- Renamed scripts to follow lowercase-hyphen convention
- Moved root-level scripts to appropriate categories
- Updated all Makefile references
- Updated scripts/README.md with new structure
Script count: 26 → 17 (35% reduction)
Breaking Changes:
- Old paths no longer exist, update any direct script calls
- Use make targets (e.g., make ci-checks) for stability
|
2026-02-18 17:56:59 -05:00 |
|
Jeremie Fraeys
|
3187ff26ea
|
refactor: complete maintainability phases 1-9 and fix all tests
Test fixes (all 41 test packages now pass):
- Fix ComputeTaskProvenance - add dataset_specs JSON output
- Fix EnforceTaskProvenance - populate all metadata fields in best-effort mode
- Fix PrewarmNextOnce - preserve prewarm state when queue empty
- Fix RunManifest directory creation in SetupJobDirectories
- Add ManifestWriter to test worker (simpleManifestWriter)
- Fix worker ID mismatch (use cfg.WorkerID)
- Fix WebSocket binary protocol responses
- Implement all WebSocket handlers: QueueJob, QueueJobWithSnapshot, StatusRequest,
CancelJob, Prune, ValidateRequest (with run manifest validation), LogMetric,
GetExperiment, DatasetList/Register/Info/Search
Maintainability phases completed:
- Phases 1-6: Domain types, error system, config boundaries, worker/API/queue splits
- Phase 7: TUI cleanup - reorganize model package (jobs.go, messages.go, styles.go, keys.go)
- Phase 8: MLServer unification - consolidate worker + TUI into internal/network/mlserver.go
- Phase 9: CI enforcement - add scripts/ci-checks.sh with 5 checks:
* No internal/ -> cmd/ imports
* domain/ has zero internal imports
* File size limit (500 lines, rigid)
* No circular imports
* Package naming conventions
Documentation:
- Add docs/src/file-naming-conventions.md
- Add make ci-checks target
Lines changed: +756/-36 (WebSocket fixes), +518/-320 (TUI), +263/-20 (Phase 8-9)
|
2026-02-17 20:32:14 -05:00 |
|