The BROKE Cluster Team
dab7ffb6fc
fix: P0 bugfixes + test infrastructure + benchmark metadata sync
...
P0 Bugfixes:
- cache.py: Handle empty HF_HOME strings in get_current_cache_root()
- clone.py: Remove obsolete _validate_same_volume() check
- common.py: Use importlib.metadata instead of importing transformers
Test Infrastructure:
- runner/__init__.py: Replace "mock" fallback with clear RuntimeError
- Fix mock paths in test_runner_core, test_token_limits, etc.
- Add VISION_TEST_MODELS + AUDIO_TEST_MODELS fallbacks
- Portfolio fixtures work with and without HF_HOME
Benchmark Fixes:
- Sort models/tests alphabetically instead of by regression %
- Fix vision metadata drift: pixtral-12b-8bit → pixtral-12b-4bit
Documentation:
- ADR-022: Workspace-First Paradigm (draft)
- ADR-018: Phase 2 details expanded
- TESTING.md/TESTING-DETAILS.md: Fallback docs updated
2026-02-10 15:52:36 +01:00
The BROKE Cluster Team
7f10187bee
fix: Runtime gates + unit tests; benchmark GPU analysis
...
Core:
- Run preflight passes probe/framework to audio_runtime_compatibility
- STT model_type gate extended (vibevoice, audio)
- MLX 0.30.x compat: catch Exception in whisper_tokenizer
- Embedding-gate unit tests (3 tests)
- Removed get_encoding duplication (-45 LOC)
Benchmark:
- GPU analysis section in reports
2026-02-07 23:38:34 +01:00
The BROKE Cluster Team
e021fb32cd
Release 2.0.4-beta.10: Audio PyPI fix (tiktoken workaround complete)
...
Audio/Whisper works with pip install - no Git workaround needed.
See CHANGELOG.md for details.
Tested: 647 passed, 11 skipped (Python 3.10-3.12)
2026-02-05 10:42:50 +01:00
The BROKE Cluster Team
bf7480d042
Release 2.0.4-beta.9: Audio transcription via mlx-audio
...
Major Features:
- Audio transcription via mlx-audio backend (Whisper, >10min duration)
- OpenAI /v1/audio/transcriptions endpoint
- Memory Gate System (Vision: 8GB, Audio: 4GB)
- Config-based backend routing (ADR-020)
- Benchmark toolchain (memmon/memplot, Schema v0.2.2)
Key Fixes:
- EuroLLM tokenizer decoding
- Vision-model text-only routing regression
- Multimodal model context length detection
- Memory cleanup bug (mx.metal.clear_cache)
- Orphan process bug
Test Results:
- Unit tests: 647 passed, 11 skipped (Python 3.10-3.12)
- wet-umbrella: 171 passed total
See CHANGELOG.md for complete details and known issues.
2026-02-04 03:10:30 +01:00
The BROKE Cluster Team
e8b10ea10b
Release 2.0.4-beta.8: Audio transcription support (experimental)
...
Audio input via --audio flag (CLI) and input_audio content type (Server API).
Uses mlx-vlm native audio processing. ~30s duration limit (model constraint).
Currently only Gemma-3n tested (requires --repair-index fix).
Also includes:
- SERVER-HANDBOOK compliance (image limits, validation error envelopes)
- Dependency updates: mlx>=0.30.0, mlx-lm>=0.30.0, huggingface-hub>=1.0.0
- Audio E2E test suite + ADR-019
2026-01-23 20:20:59 +01:00
The BROKE Cluster Team
53d9cca82d
Release 2.0.4-beta.6: Local workspace workflow + Vision batch processing
...
- Complete local development cycle: clone → repair → run/show/server on
workspace paths without HuggingFace round-trips
- Vision processing now defaults to safe chunking (one image at a time,
prevents OOM + hallucination)
- Resumable clone with --force-resume and deterministic temp cache naming
- Improved test infrastructure (umbrella marker convention)
- 161 Wet Umbrella tests passing including new Vision→Geo pipe integration tests
See CHANGELOG.md for complete details.
2026-01-07 17:11:07 +01:00
The BROKE Cluster Team
d3f7d091bc
Release 2.0.4-beta.3: Dependency compatibility + Documentation
...
Bugfixes and compatibility improvements. No new features.
Core fixes:
- Framework detection for web API models (Issue #48 )
- Video-only model filtering from vision capability
- Page size detection for memory metrics (macOS)
- Model switch log timing (after load completion)
Compatibility:
- hub 1.x + transformers 5.0 support
- Python 3.9-3.14 verified (494 tests passing)
Testing infrastructure:
- Benchmark schema v0.2.0 (hardware profiling, system health)
- Benchmark template v1.0 (automated JSONL→Markdown reports)
- Memory timeline visualization (memplot.py)
- Unified model filter (build_model_object single source)
Documentation:
- Multi-Modal Support section in README (Vision subsection)
- JSON API 0.1.5-0.1.6 marked Stable
- Vision promoted from alpha to beta status
- Removed conceptual drift and outdated references
See CHANGELOG.md for complete details.
2025-12-23 12:19:04 +01:00
The BROKE Cluster Team
86f669dc82
Release 2.0.4-beta.1: Vision + Pipes + Memory
...
- Vision Support (Issue #45 ): CLI + Server with OpenAI-compatible image API, EXIF metadata
- Unix Pipes (ADR-014): stdin support, isatty detection, SIGPIPE handling
- Memory-Aware Loading (ADR-016): Pre-load checks with >70% RAM warnings
- Python 3.9-3.14: Full compatibility verified (476-485 tests passing)
- Fixed: --log-json regression (Issue #44 ), Vision multimodal history filtering
See CHANGELOG.md for complete details.
2025-12-16 19:35:30 +01:00
The BROKE Cluster Team
4b75a22726
Release 2.0.0-beta.4: Runtime compatibility check (Issue #36 )
...
- JSON API 0.1.5: runtime_compatible + reason fields
- mlx-lm dependency updated to >=0.28.3 (stable PyPI release)
- Human output: healthy / healthy* / unhealthy status display
- All tests passing (253 passed, 12 skipped) across Python 3.9-3.13
2025-10-18 16:06:58 +02:00
The BROKE Cluster Team
3f57248121
2.0.0-alpha.3: lenient MLX detection + push branch handling
...
- Detect MLX/chat via README front‑matter + tokenizer; unify list/show; human list filters aligned (Refs #31 )
- Push: create missing branch with --create and retry once on “Invalid rev id”; tolerate missing branches
offline; no‑op still creates branch with --create
- Tests: add offline retry test; detection/human coverage; live list (opt‑in); 98/98 passing
- Docs/Meta: CHANGELOG/TESTING/README/SECURITY/CLAUDE updated; hard split 1.x from this branch; Apache‑2.0 + NOTICE
2025-09-08 01:14:01 +02:00