How this repository releases
pyproject.toml holds the current version, and the v0.1.0 tag is the baseline the first release counted from. CHANGELOG.md’s ## [Unreleased] section is written as changes happen, and semantic-release.yml does the rest on each merge to main. It computes the next version from Conventional Commits, promotes that section into a dated heading, and bumps pyproject.toml and uv.lock. Then it publishes a GitHub Release from the same text, once a person approves it in the release Environment. Only feat:, fix: and security: commits, and breaking changes, cut a release. Once KNOWLEDGE_RELEASE_ENABLED is set, each release also carries the .lokf/knowledge/ bundle as a zip, when it changed.
The version stays below 1.0.0
Section titled “The version stays below 1.0.0”This is a demo, and the shapes of the API, the web UI and the CLI will change. The v0.1.0 tag is a baseline, not a release: it stops semantic-release defaulting the first release to 1.0.0, and a breaking change bumps the minor version, not the major one. Reaching 1.0.0 will be a decision, not something a commit message can trigger.
For maintainers
Section titled “For maintainers”CONTRIBUTING.md has the steps: what to write in the changelog, how to type a commit or a pull-request title so it releases, and the release Environment’s reviewers. That repository’s releasing page describes the design behind the pipeline, which this repository shares with knowledge-trust-ladder and the two Obsidian plugins.