# Solomon BF16 conversion provenance This directory retains metadata for the unquantized BF16 conversion. **Backbone weights are downloaded separately from Qwen; adapter and head weights live at `adapter/adapter.safetensors` and `adapter/heads.npz` in the repository root.** This directory is no longer a self-contained loadable model. Install the source package in [`../`](../) and follow its README. From that package directory: ```sh uv sync --frozen --extra dev SOLOMON_COMMIT=$(uv run python -c 'from huggingface_hub import HfApi; print(HfApi().model_info("DoccyHealth/Solomon").sha)') uv run solomon-mlx-hub prepare --revision "$SOLOMON_COMMIT" --output models/quality ``` The loader fetches `adapter/**` plus MLX licensing metadata at the pinned Solomon commit. It obtains the original base from `Qwen/Qwen3.8-27B` at `1d4bf0f2ff6012fd82039f2fa52739d0dd7c60c0`, verifies every base file, and invokes the included exact converter. Existing original weights can be supplied with `--base`. Existing valid converted outputs are verified and reused. The original converter source is `../src/solomon_mlx/prepare.py`. The runtime source hash recorded in `conversion.json` for this historical conversion is `648e440cface0838f2dcc8d89b3ab172d97f4ffc1f88fe0b7cbbe3ca73b8a575`. The current runtime source hash is `bbcae17fc1c35db80a79d5865133a42ef9a1b0cf342fff71949972e69cce43ec`; the two differ only by the release documentation edits described in `../README.md`, which changed no converter behaviour. The new Hub loader is packaged separately so the original converter remains reproducible. Dependency versions are locked in `../uv.lock`. Large matrices stay BF16; normalization parameters, `A_log`, and `dt_bias` stay FP32, with normalization offsets applied after promotion. LoRA is never merged. `conversion.json` and `binding.json` retain the historical output checksums and paths, including removed backbone and duplicate adapter paths. The root adapter and heads are byte-identical to those historical records. The old binding SHA-256 is `6d45715aa040fad98b061ff2cbafb35b047143ef2475646cee3df7a334f4d530`. New local conversions receive a fresh binding with actual output checksums; safetensors serialization may differ across CPU and Metal. The historical source revision `2ec506902269e4636285c8811f6c0f52c9300c0c` is provenance, not a required future download URL. After a history rewrite, pin the new repository commit. **Experimental: complete CUDA parity remains pending.** Focused text/image fixtures and a partial text panel match CUDA decisions. See the dated results in `../docs/VALIDATION-20260921.md`. No new calibration or temperature fitting is required or performed. Existing CUDA temperatures are applied identically to both backends for comparison; CUDA qualification is not inherited. The historical conversion produced 55,610,774,146 bytes. Focused inference used about 59.9 GB peak Metal allocation on an M5 Max / 128 GB Mac; larger inputs need more memory. This is full BF16, without quantization, and does not fit 24–32 GB Macs.