chore(release): 0.8.2

The version moves to 0.8.2 in pyproject.toml, __init__.__version__ and
uv.lock (one line; `uv lock` touched no other package). CHANGELOG's
[Unreleased] becomes [0.8.2] -- 2026-09-11 with the entries K3-15, K3-17
and K3-18 wrote, unedited. The five install lines (README x4, llms.txt)
point at @v0.8.2; the guard pairing prose names v0.8.2, whose own
[tool.uv.sources] still pins guard v1.3.0; the tag history gains a v0.8.2
row and v0.8.1 stops being "the current tag". Test count re-measured on
2026-09-11: 1603 collected, 1602 passed, 1 skipped.

What the release delivers to a consumer on a tag: `okf check`'s sixteenth
rule (bundle_mismatch), which v0.8.1 does not carry, the --title-covered
stop beneath a title that answers more, and the regenerated
skills/okf-consume/. No behaviour change in src/ beyond the version string.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-11 02:34:12 +02:00
commit b6c54e9495
6 changed files with 22 additions and 15 deletions

View file

@ -7,6 +7,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased] ## [Unreleased]
## [0.8.2] — 2026-09-11
### Added ### Added
- **`okf check` refuses a skill and a payload that name different bundles - **`okf check` refuses a skill and a payload that name different bundles

View file

@ -9,7 +9,7 @@ call anywhere in the run path.
Python 3.10+ and [uv](https://docs.astral.sh/uv/). One line: Python 3.10+ and [uv](https://docs.astral.sh/uv/). One line:
```sh ```sh
uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1" uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.2"
``` ```
## Use it ## Use it
@ -59,11 +59,11 @@ Neither this package nor the guard it depends on is on a package index yet, so
both install by direct reference. With uv, one command resolves both: both install by direct reference. With uv, one command resolves both:
```sh ```sh
uv pip install "llm-ingestion-okf @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1" uv pip install "llm-ingestion-okf @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.2"
``` ```
uv resolves the guard on its own, because it reads the `[tool.uv.sources]` uv resolves the guard on its own, because it reads the `[tool.uv.sources]`
entry in the `pyproject.toml` **of the tag it is installing**, and `v0.8.1` entry in the `pyproject.toml` **of the tag it is installing**, and `v0.8.2`
points that entry at `llm-ingestion-guard` `v1.3.0`. Use `uv tool install` points that entry at `llm-ingestion-guard` `v1.3.0`. Use `uv tool install`
instead of `uv pip install` when you want the `okf` command on `PATH` without an instead of `uv pip install` when you want the `okf` command on `PATH` without an
active virtualenv — that is the form the first screen shows. active virtualenv — that is the form the first screen shows.
@ -74,10 +74,10 @@ With plain pip, the transitive git dependency does not resolve on its own —
```sh ```sh
pip install "llm-ingestion-guard @ git+https://git.fromaitochitta.com/open/llm-ingestion-pipeline-security.git@v1.3.0" pip install "llm-ingestion-guard @ git+https://git.fromaitochitta.com/open/llm-ingestion-pipeline-security.git@v1.3.0"
pip install "llm-ingestion-okf @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1" pip install "llm-ingestion-okf @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.2"
``` ```
The guard tag is paired to the okf tag, not to this branch. `v0.8.1` declares The guard tag is paired to the okf tag, not to this branch. `v0.8.2` declares
`llm-ingestion-guard>=1.2,<2.0`, which `v1.3.0` satisfies; the pairing above is `llm-ingestion-guard>=1.2,<2.0`, which `v1.3.0` satisfies; the pairing above is
read off that tag's own `[tool.uv.sources]`, not off this branch. Reading a pin read off that tag's own `[tool.uv.sources]`, not off this branch. Reading a pin
off `main` and installing it against an older okf tag is the one combination off `main` and installing it against an older okf tag is the one combination
@ -88,7 +88,12 @@ that fails.
These are not install lines. They record what each earlier tag was, so a reader These are not install lines. They record what each earlier tag was, so a reader
who meets one in an older document knows what they are looking at. who meets one in an older document knows what they are looking at.
- `v0.8.1` — the current tag: a question that accounts for a concept's WHOLE - `v0.8.2` — the current tag: `okf check` refuses a skill and a payload that
name different bundles (`bundle_mismatch`, the checker's sixteenth rule;
`v0.8.1` has fifteen), and a covered title no longer rises above a title
that answers more of the question. No new command or flag; the shipped
`skills/okf-consume/` is regenerated so it passes that check.
- `v0.8.1` — a question that accounts for a concept's WHOLE
title reads that concept first (`--title-covered`, on by default, opt out title reads that concept first (`--title-covered`, on by default, opt out
with `--no-title-covered`). A ranking fix, no new functionality: on one with `--no-title-covered`). A ranking fix, no new functionality: on one
publisher's 2 761-concept bundle the answering section was delivered at publisher's 2 761-concept bundle the answering section was delivered at
@ -521,7 +526,7 @@ not need this repository — the first line installs the command, the second
builds the bundle and writes a skill beside it, the third asks. builds the bundle and writes a skill beside it, the third asks.
```sh ```sh
uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1" uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.2"
okf project ~/my-documents okf project ~/my-documents
claude claude
``` ```
@ -832,15 +837,15 @@ From a checkout, the test suite runs with:
.venv/bin/python -m pytest .venv/bin/python -m pytest
``` ```
The suite is the verification surface for everything above: **1583 tests The suite is the verification surface for everything above: **1603 tests
collected, 1582 passed and 1 skipped**, run on 2026-09-10 with the `[extract]` collected, 1602 passed and 1 skipped**, run on 2026-09-11 with the `[extract]`
extra installed. Both numbers are given because they are two measurements: the extra installed. Both numbers are given because they are two measurements: the
figure published before this round was the PASSED count, and `pytest figure published before this round was the PASSED count, and `pytest
--collect-only -q` reported one more. --collect-only -q` reported one more.
(The figure stood at 596 until 2026-09-09 — measured 2026-08-21 and never (The figure stood at 596 until 2026-09-09 — measured 2026-08-21 and never
updated as the suite grew — at 1515 until the `v0.8.0` release, at 1575 updated as the suite grew — at 1515 until the `v0.8.0` release, at 1575
through it, and at 1582 through the `v0.8.1` release: a count is a through it, at 1582 through the `v0.8.1` release, and at 1602 through the
measurement with a date on it.) `v0.8.2` release: a count is a measurement with a date on it.)
Without the extra the same suite skips the tests covering the parser path; Without the extra the same suite skips the tests covering the parser path;
that split was last counted on 2026-08-21 as 589 passed and 7 skipped and has that split was last counted on 2026-08-21 as 589 passed and 7 skipped and has
**not** been re-measured since. The tests holding the fail-fast rejection for **not** been re-measured since. The tests holding the fail-fast rejection for

View file

@ -6,7 +6,7 @@ Requires Python 3.10+ and [uv](https://docs.astral.sh/uv/). Neither this package
nor the guard it depends on is on a package index yet; one command resolves both: nor the guard it depends on is on a package index yet; one command resolves both:
```sh ```sh
uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1" uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.2"
``` ```
Then, in the folder you want to work from: Then, in the folder you want to work from:

View file

@ -4,7 +4,7 @@ build-backend = "hatchling.build"
[project] [project]
name = "llm-ingestion-okf" name = "llm-ingestion-okf"
version = "0.8.1" version = "0.8.2"
description = "Shared OKF (Open Knowledge Format) ingestion library: spec-based connectors, bundle inbox, and external-bundle import, with security delegated to llm-ingestion-guard." description = "Shared OKF (Open Knowledge Format) ingestion library: spec-based connectors, bundle inbox, and external-bundle import, with security delegated to llm-ingestion-guard."
readme = "README.md" readme = "README.md"
license = "MIT" license = "MIT"

View file

@ -76,7 +76,7 @@ from .manifest import (
) )
from .materialize import IngestResult, materialize_bundle from .materialize import IngestResult, materialize_bundle
__version__ = "0.8.1" __version__ = "0.8.2"
__all__ = [ __all__ = [
"BlockedFile", "BlockedFile",

2
uv.lock generated
View file

@ -547,7 +547,7 @@ source = { git = "https://git.fromaitochitta.com/open/llm-ingestion-pipeline-sec
[[package]] [[package]]
name = "llm-ingestion-okf" name = "llm-ingestion-okf"
version = "0.8.1" version = "0.8.2"
source = { editable = "." } source = { editable = "." }
dependencies = [ dependencies = [
{ name = "llm-ingestion-guard" }, { name = "llm-ingestion-guard" },