Skip to content

Release prep v0.7.4: fix sys.path shim shadowing + changelog#35

Merged
cryptopoly merged 1 commit intostagingfrom
release/v0.7.4-prep
May 6, 2026
Merged

Release prep v0.7.4: fix sys.path shim shadowing + changelog#35
cryptopoly merged 1 commit intostagingfrom
release/v0.7.4-prep

Conversation

@cryptopoly
Copy link
Copy Markdown
Owner

Summary

Two changes to unblock the v0.7.4 release:

  1. Fix pytest tests/ collection error in tests/test_cache_strategies.py (ImportError: cannot import name '_find_pip_turboquant_path' from 'turboquant_mlx'). Root cause: ensure_extras_on_sys_path() was inserting the persisted extras dir at sys.path index 1, ahead of the repo root, which shadowed the repo-local turboquant_mlx adapter shim with the raw turboquant-mlx-full pip package staged into extras. The shim's exported helpers became unreachable. Fix: append extras to sys.path instead. Repo-local shims keep import authority across pytest, .venv dev, and Tauri-bundled launches.

    This was also a latent runtime bug — any user who clicked Setup → Install turboquant-mlx-full on the desktop app was running with the shim shadowed. The wrapped TurboQuant cache strategy still worked because cache_compression/turboquant.py calls into the upstream package directly, but the shim's _find_pip_turboquant_path / make_adaptive_cache / apply_patch adapter hooks were dead.

  2. Backfill CHANGELOG.md for v0.7.2, v0.7.3, and v0.7.4. The changelog had jumped straight from v0.6.0 to the older v0.5.3 entry and was out of sync with the tag history. v0.7.4 entry groups the 90 staging commits into Cache strategies / CUDA quantization foundations / MLX video runtime / Preview UX / Speculative decoding / Windows stability / Studio polish themes.

Verification

  • .venv/bin/python -m pytest tests/ -q1277 passed, 1 skipped
  • ./scripts/pre-build-check.sh7 passed, 0 failed, 1 warning (turbo binary update WARN is informational)
  • .venv/bin/python -c "from backend_service.app import create_app; import turboquant_mlx; print(turboquant_mlx.__file__)" → resolves to /Users/dan/ChaosEngineAI/turboquant_mlx/__init__.py (shim wins)

Test plan

  • Python tests pass
  • TypeScript tests pass (333/333 via existing pre-build script)
  • npx tsc --noEmit clean
  • Cache strategy validation passes
  • Shim resolution preserved after ensure_extras_on_sys_path runs

ensure_extras_on_sys_path was inserting persisted extras at sys.path
index 1, ahead of the repo root. That order shadowed the repo-local
turboquant_mlx adapter shim with the raw turboquant-mlx-full pip
package staged into ~/Library/Application Support/.../extras, hiding
the shim's _find_pip_turboquant_path / make_adaptive_cache /
apply_patch helpers. Surfaced as a pytest collection error on
tests/test_cache_strategies.py; was also a latent runtime bug for any
user who clicked Setup -> Install turboquant-mlx-full on the desktop
app.

Append the extras paths to sys.path instead so repo-local shims keep
import authority across pytest, dev .venv, and Tauri-bundled launches.
The shim's own _find_pip_turboquant_path walks sys.path + sysconfig
locations, so extras-at-end is still discoverable for the wrapped
upstream package.

Also backfill CHANGELOG.md for v0.7.2, v0.7.3, and v0.7.4 - the
changelog had jumped straight from v0.6.0 to the older v0.5.3 entry
and was out of sync with the tag history.
@cryptopoly cryptopoly merged commit dd59178 into staging May 6, 2026
1 check passed
@cryptopoly cryptopoly deleted the release/v0.7.4-prep branch May 6, 2026 18:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant