Release MLX Knife 1.0.2 - HF_HOME Cache Consistency & Corruption Fixes │

│                                                                                                      │
│   Major bug fixes addressing cache path inconsistencies and silent failures:                         │
│   - Fix Issue #11: HF_HOME environment variable handling - unified cache logic ensures consistent    │
│   /hub subdirectory usage                                                                            │
│   - Fix Issue #9: Silent failure on corrupted models with empty snapshots directories                │
│   - Enhanced download throttling with adaptive delays (512KB chunks, 2-3s for large files)           │
│   - Added migration warnings for legacy cache locations with clear user guidance                     │
│   - Improved corruption detection and deletion workflow consistency                                  │
│                                                                                                      │
│   Technical improvements:                                                                            │
│   - Unified cache architecture: CACHE_ROOT/hub for both default and HF_HOME scenarios                │
│   - Exception-safe memory management with enhanced baseline tracking                                 │
│   - Updated dependencies to latest tested versions (Python 3.9-3.13 support)                         │
│   - All 105 tests passing with real MLX model verification
This commit is contained in:
The BROKE Team
2025-08-18 14:02:30 +02:00
parent 8b0db287e4
commit cbd25c658d
14 changed files with 302 additions and 264 deletions
+13 -14
View File
@@ -29,8 +29,6 @@ This approach ensures our tests reflect real-world usage, not mocked behavior.
```
tests/
├── TESTING.md # This file
├── mlx_knife_test_requirements.md # Original test requirements
├── conftest.py # Shared fixtures and utilities
├── integration/ # System-level integration tests
│ ├── test_core_functionality.py # Basic CLI operations
@@ -40,7 +38,8 @@ tests/
│ └── test_server_functionality.py # OpenAI API server tests
└── unit/ # Module-level unit tests
├── test_cache_utils.py # Cache management functions
── test_cli.py # CLI argument parsing
── test_cli.py # CLI argument parsing
└── test_mlx_runner_memory.py # Memory management tests
```
## Test Prerequisites
@@ -146,8 +145,8 @@ pytest -n auto
### ✅ Current Test Status (August 2025)
```
Total Tests: 104/104 passing (100% ✅)
├── ✅ Integration Tests: 61 passing
Total Tests: 105/105 passing (100% ✅)
├── ✅ Integration Tests: 62 passing
├── ✅ Unit Tests: 25 passing
└── ✅ Real MLX Model Tests: All passing with Phi-3-mini
```
@@ -164,7 +163,7 @@ Total Tests: 104/104 passing (100% ✅)
| Category | Count | Description |
|----------|-------|-------------|
| **Unit Tests** | 25 | Fast, isolated function tests |
| **Integration Tests** | 61 | Full system behavior tests |
| **Integration Tests** | 62 | Full system behavior tests |
| **Model Execution** | 7 | Real MLX model running |
| **Process Lifecycle** | 8 | Signal handling and cleanup |
| **Health Checks** | 12 | Corruption detection |
@@ -173,7 +172,7 @@ Total Tests: 104/104 passing (100% ✅)
## Python Version Compatibility
### Compatibility Status
MLX Knife 1.0.1 is fully compatible with Python 3.9-3.13. Comprehensive verification completed with 104/104 tests passing on all supported versions.
MLX Knife 1.0.1 is fully compatible with Python 3.9-3.13. Comprehensive verification completed with 105/105 tests passing on all supported versions.
### Manual Multi-Python Testing
@@ -195,11 +194,11 @@ deactivate && rm -rf test_39
| Python Version | Status | Tests Passing |
|----------------|--------|---------------|
| 3.9.6 (macOS) | ✅ Verified | 104/104 |
| 3.10.x | ✅ Verified | 104/104 |
| 3.11.x | ✅ Verified | 104/104 |
| 3.12.x | ✅ Verified | 104/104 |
| 3.13.x | ✅ Verified | 104/104 |
| 3.9.6 (macOS) | ✅ Verified | 105/105 |
| 3.10.x | ✅ Verified | 105/105 |
| 3.11.x | ✅ Verified | 105/105 |
| 3.12.x | ✅ Verified | 105/105 |
| 3.13.x | ✅ Verified | 105/105 |
All versions tested with real MLX model execution (Phi-3-mini-4k-instruct-4bit).
@@ -339,7 +338,7 @@ When submitting PRs, please include:
Platform: macOS 14.5, M2 Pro
Python: 3.11.6
Model: Phi-3-mini-4k-instruct-4bit
Results: 104/104 tests passed
Results: 105/105 tests passed
```
3. **Any issues encountered** and how you resolved them
@@ -348,7 +347,7 @@ When submitting PRs, please include:
**MLX Knife 1.0.1 Testing Status:**
**Production Ready** - 104/104 tests passing
**Production Ready** - 105/105 tests passing
**Multi-Python Support** - Python 3.9-3.13 verified
**Code Quality** - ruff/mypy integration working
**Real Model Testing** - Phi-3-mini execution confirmed