Repository navigation
chore: stabilize the baseline (RFC 028, phase P0) - #17
Open
supa-chayajin wants to merge 1 commit into
Open
supa-chayajin wants to merge 1 commit into
supa-chayajin wants to merge 1 commit into
Conversation
- Declare click: Typer 0.28 no longer installs it, so a fresh install crashed at startup. CI now smoke-tests the built wheel in a clean venv. - Fix .devtool.toml.example: it declared [inference.default] twice, which is invalid TOML, so load_config silently fell back to its defaults. A test now parses and loads the example. - Make the test suite hermetic: no network (localhost included), an isolated HOME, fresh DI caches; patch commands where they look up the generation service. The 4 failing slow tests now pass. - Run the whole suite everywhere (drop the default -m 'not slow') and remove the dead mock_ollama fixture. - Python floor 3.12 (ADR 028-07): requires-python, CI on 3.12-3.14, the black target; drop the tomli fallbacks. - Make ruff's rule set explicit and pin ruff, black and isort: ruff 0.17 widened its defaults, giving 162 findings on unchanged main. - Add a guard test: every non-optional third-party import must be a declared dependency. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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
Phase P0 of RFC 028 (provider-agnostic LLM layer): stabilize the baseline before the refactor starts. Apart from the fixed install, nothing changes for users.
Changes
Fresh installs no longer crash at startup.
clickis now a declared dependency: Typer 0.28 stopped installing it, andcommands/commit.pyimports it directly. CI now smoke-tests the built wheel in a clean venv..devtool.toml.exampleis valid TOML again. It declared[inference.default]twice, soload_configsilently fell back to its built-in defaults for anyone who copied it. A test now parses and loads it.Hermetic tests. Autouse fixtures do three things:
HOME, so a developer's~/.devtool.tomlcannot leak in;The patch targets in
test_option_c_commands.pynow point to where the commands look the service up, so the 4 tests that used to reach a real Ollama now pass.The whole suite runs everywhere. The default
-m 'not slow'is gone, so CI now runs all 410 tests; 153 of them never ran there before. The deadmock_ollamafixture is removed.Python ≥ 3.12. This covers
requires-python, a CI matrix of 3.12–3.14 and the black target. Thetomlifallbacks are gone (3.10 reached end-of-life in October 2026).Reproducible lint. Ruff 0.17 widened its default rule set, which gives 162 findings on unchanged
main, so the lint jobs were failing. The rule set is now explicit (E4,E7,E9,F, which is what CI enforced before), and ruff, black and isort are pinned. Stricter rules can come in a dedicated PR.Dependency guard test. It fails when
devtool/imports a third-party module thatpyproject.tomldoes not declare. Optional imports insidetry/except ImportErrorare excepted.Verification
make lint: clean (ruff, black, isort).make test: 410 passed in about 4 s, coverage 82.6 %.pip install devtool-*.whl && devtool --helpworks.clickis removed from a scratch copy ofpyproject.toml.🤖 Generated with Claude Code