Why
write currently requires Apple Silicon + MLX. That caps adoption hard. filter already has a GGUF/llama.cpp path and train has optional CUDA — contributors who bring write to Linux/Windows NVIDIA (or CPU GGUF) unlock a much larger audience and star/fork traction.
Goal
Make personality-protect write work when MLX is unavailable by selecting an alternate local backend:
- GGUF / llama.cpp (preferred first milestone — already partially supported via
[gguf] extra)
- Optional follow-up: CUDA / transformers path for NVIDIA boxes
Still local-only. No cloud fallback.
Acceptance criteria
Pointers
src/personality_protect/write.py
src/personality_protect/filter.py (existing GGUF usage)
src/personality_protect/download.py
pyproject.toml optional extras gguf, cuda, mlx
Out of scope
- Hosted APIs / OpenAI-compatible remote endpoints
- Shipping weights in git
Difficulty
Hard — but the highest-leverage platform expansion in the repo. Issue farmers with llama.cpp experience welcome.
Why
writecurrently requires Apple Silicon + MLX. That caps adoption hard.filteralready has a GGUF/llama.cpp path and train has optional CUDA — contributors who bringwriteto Linux/Windows NVIDIA (or CPU GGUF) unlock a much larger audience and star/fork traction.Goal
Make
personality-protect writework when MLX is unavailable by selecting an alternate local backend:[gguf]extra)Still local-only. No cloud fallback.
Acceptance criteria
write --channel postproduces a draftautoprefers MLX on Apple Silicon, else GGUF if installed, else clear erroradapter=nonedefault)Pointers
src/personality_protect/write.pysrc/personality_protect/filter.py(existing GGUF usage)src/personality_protect/download.pypyproject.tomloptional extrasgguf,cuda,mlxOut of scope
Difficulty
Hard — but the highest-leverage platform expansion in the repo. Issue farmers with llama.cpp experience welcome.