Use llama.cpp as the local default#54
Merged
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
Switches the no-config and --local execution path from local Ollama to in-process llama-cpp-python (local-llama/default with Qwen_Qwen3.5-2B-Q6_K.gguf), drops the Ollama plumbing from local_models, and wires simplicio doctor into the main CLI to validate/download the default GGUF. Adds a GGUF magic-header check so corrupt local model files are not silently reused. Bumps version to 0.5.17 and updates docs/policies/mapper artifacts accordingly.
Changes:
- Replace local Ollama default + GGUF fallback with a single
llama.cppin-process default; remove_generate_default_ollama_with_fallbackand Ollama subprocess plumbing inlocal_models. - Add
_is_gguf_filevalidation inproviders._resolve_local_pathand inlocal_modelsso corrupt/non-GGUF files are rejected; refactorlocal_modelsarounddownload/can_download(withpull/can_pullaliases). - Register the
doctorsubcommand incli.mainand update--localto setSIMPLICIO_MODEL=local-llama/default(clearing base/key); update README, LLM policy, package interdependence, CHANGELOG, and version bump to0.5.17.
Reviewed changes
Copilot reviewed 23 out of 23 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| simplicio/providers.py | New default routes to in-process llama.cpp; adds GGUF header validation; removes Ollama-default-with-fallback path. |
| simplicio/local_models.py | Replaces Ollama plumbing with HF GGUF download; renames pull→download/can_pull→can_download with back-compat aliases. |
| simplicio/doctor.py | Renders GGUF/llama.cpp status instead of Ollama; uses auto_download and prints model_id/repo/filename/path. |
| simplicio/cli.py | Adds doctor subcommand wiring; --local now forces local-llama/default and unsets base/key. |
| simplicio/init.py, pyproject.toml | Bump to 0.5.17. |
| tests/python/test_providers_local.py | Updates default-routing tests, adds corrupt-GGUF skip test, writes valid GGUF magic in fixtures. |
| tests/python/test_providers_shellout.py | Renames default-config test to assert local-llama route instead of Ollama. |
| tests/python/test_local_models.py | Rewrites tests around download/can_download/model_file_present and new ModelSpec shape. |
| tests/python/test_run_cli.py | Adds test confirming doctor CLI delegates to simplicio.doctor.main. |
| tests/python/test_package_metadata.py | Asserts new version 0.5.17. |
| README.md, README.pt-BR.md | Replace Ollama default rows/sections with llama.cpp default; update install snippet. |
| docs/LLM_USAGE_POLICY.md, docs/PYTHON_PACKAGE_INTERDEPENDENCE.md, docs/agent-architecture.md | Reflect llama.cpp-only default; mention native-runtime direction. |
| CHANGELOG.md | Records 0.5.17 changes. |
| .simplicio/* | Auto-regenerated mapper/index artifacts. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--localpath from Ollama tolocal-llama/defaultviallama-cpp-python.simplicio doctorin the main CLI and makes it validate/download the default Qwen3.5 GGUF.0.5.17.Local Runtime
Default local model now resolves to:
local-llama/defaultbartowski/Qwen_Qwen3.5-2B-GGUFQwen_Qwen3.5-2B-Q6_K.ggufllama.cppthroughllama-cpp-pythonNo Ollama service is required in the local default path.
Evidence
pytest tests/python/test_providers_local.py tests/python/test_providers_shellout.py tests/python/test_local_models.py tests/python/test_package_metadata.py tests/python/test_run_cli.py::test_doctor_command_delegates_to_local_model_preflight -q-> 66 passedpython -m compileall -q simplicio ...-> passedruff checkon touched Python files -> passedsimplicio doctor --json-> installed=true, can_run=true, model_id=local-llama/defaultsimplicio smoke-> model reply:OK simplicio connected.python -m build && twine check dist/*-> passedsimplicio-mapper index . --json-> updated mapper artifactsKnown Existing Validation Gaps
taskflow run simplicio-dev-clistill fails on the existing required rootdotnet buildgate because this repo has no root solution/project file.Related