Prepare 0.2.0 - #7
Merged
Merged
Conversation
Bumps `__version__` in kgmd/__init__.py, the single source hatchling reads. Verified by building the wheel: kgmd-0.2.0-py3-none-any.whl. The stamp on line 2 of all 16 pages under docs/ moves to `> Applies to kgmd 0.2.x`. tests/test_docs.py compares that stamp against kgmd.__version__, so crossing a minor boundary turns the suite red until every page is walked -- which is the point. Eleven prose references to 0.1.0 or 0.1.x are updated too. Four of them describe the broken `reset` command and the absent migration path; those statements are still true, so they now name 0.2.0 rather than implying a version where the behaviour was fixed. The upgrade section gains the note this release actually needs: the schema is unchanged and `PRAGMA user_version` is still 1, so a 0.1.x database opens as-is with no migration, but the first build after upgrading reconciles the graph against the corpus and removes documents whose files are gone. On a corpus with a long edit history that can be a large one-off removal, so it points at `kgmd build --dry-run` first. Adds CHANGELOG.md, linked from the README documentation table. The 0.2.0 entry records the known issues as well as the additions, including the reset defects and the extract --force mention-vector corruption tracked in #4, so the release does not read as though the graph now cleans itself up completely. Also corrects the development clone URL in README.md, which pointed at github.com/2lines/kgmd -- a repository that does not exist. README is the PyPI landing page, so that URL ships to every visitor.
Greptile SummaryThe PR prepares the 0.2.0 release without changing application behavior.
Confidence Score: 5/5The PR appears safe to merge; the version source, documentation stamps, links, and release guidance are internally consistent. The package build reads the updated version directly from Reviews (1): Last reviewed commit: "Prepare 0.2.0" | Re-trigger Greptile |
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
Release preparation for 0.2.0. No functional change — this is the version bump, the documentation stamp sweep it forces, a changelog, and one README correction.
Cutting the release requires this to land first, because
0.1.0is already on PyPI and PyPI rejects re-uploads permanently. Publishing a GitHub Release without bumping would buildkgmd-0.1.0and fail the upload.Changes
Version
kgmd/__init__.py→0.2.0, the single source hatchling reads (pyproject.tomldeclaresdynamic = ["version"]). Verified by building:kgmd-0.2.0-py3-none-any.whl.Documentation stamps — the reason this is a PR and not a one-line commit
docs/move to> Applies to kgmd 0.2.xon line 2.tests/test_docs.py::test_version_stampscompares that stamp againstkgmd.__version__, so crossing a minor boundary turns the suite red until every page is walked. That is the intended design, documented atdocs/contributing/release.md:37-40.0.1.0/0.1.xupdated. Four describe the brokenresetcommand and the absent migration path — those statements are still true, so they now name0.2.0rather than implying a version where the behaviour was fixed.Upgrade note added
docs/guides/maintenance.md→ "Upgrading kgmd" now states what this release actually does to an existing corpus: the schema is untouched andPRAGMA user_versionis still1, so a 0.1.x database opens as-is with no migration — but the first build after upgrading reconciles the graph against the corpus and removes documents whose files are gone. On a corpus with a long edit history that can be a large one-off removal, so it points atkgmd build --dry-runfirst.Bumping the version while leaving the upgrade page silent about a destructive behaviour change would have been the wrong kind of quiet.
CHANGELOG.mdaddedLinked from the README documentation table. The 0.2.0 entry records known issues alongside the additions — the
resetdefects and theextract --forcemention-vector corruption tracked in #4, and the orphan entities the new sweep deliberately does not collect — so the release does not read as though the graph now cleans itself up completely.README correction
README.md:91pointed the development clone atgithub.com/2lines/kgmd, which does not exist. README is the PyPI landing page, so that URL ships to every visitor. PyPI currently renders the 0.1.0 README, so publishing 0.2.0 is what refreshes it.Testing
python -m buildproduceskgmd-0.2.0-py3-none-any.whl, confirming the bump propagates through hatchlingmake formatandmake lintclean0.2.0does not exist on PyPI (only0.1.0), so the version is free.Related issues
This repo does not use Jira or Linear.
Additional Notes
kgmd/__init__.py.PRAGMA user_versionstill1..github/workflows/publish.ymltriggers only onrelease: types: [published]— there is noworkflow_dispatch, so the workflow cannot be started from the Actions tab. Publishing a GitHub Release is the trigger.After merge, to actually release
That fires
publish.yml, which builds in thepypienvironment and uploads via OIDC trusted publishing. The path is proven — 0.1.0 shipped through it.Pre-release checklist is not satisfied by this PR
docs/contributing/release.md:86-114requires manual verification that CI structurally cannot do, and it is marked not optional:docs/examples/walkthroughs executed end to end — needs a provider credential and real spend.kgmd mcpround-tripped from a real assistant client.pip install kgmdin a clean virtualenv, including the loadable-SQLite-extension caveat.%LOCALAPPDATA%\kgmd\kgmd\config.yaml— this box has never been tickable. The page states the path was derived fromplatformdirssource and has never been executed on Windows, and that the configuration reference must keep saying so until it is. Treat it as a standing caveat, not a blocker.