chore(release): 0.8.1

A patch release carrying round 16's ranking rule and nothing else. No
behaviour changes in `src/`: the version string is the only line touched
there, and it is touched because it is the second half of the version --
`tests/test_packaging.py` holds `pyproject.toml`'s declaration and
`__init__.__version__` equal, and a tag whose package reports the previous
number lies to every consumer that installs it.

- `pyproject.toml` and `src/llm_ingestion_okf/__init__.py`: 0.8.0 -> 0.8.1.
- `CHANGELOG.md`: round 16's own entry closes as `[0.8.1]`, with a new empty
  `[Unreleased]` above it and no comparison link, because the file has
  published none since `[0.6.0]`. The entry gains one bullet it did not
  carry: the rule's MEASURED DOWNSIDE, reproduced here on a five-document
  folder -- a constructed known-negative question demotes the answering
  section from delivered rank 1 to rank 2 because a neighbouring concept
  titled with a single common process word has its WHOLE title accounted
  for. Written as a known limitation of short generic titles, not as a fix.
- The five install lines (`README.md` 4, `llms.txt` 1) move to `@v0.8.1`.
  Measured after: `okf.git@v0.8.0` 0 hits, `okf.git@v0.8.1` 5 hits as the
  known-positive control, and the two remaining bare `v0.8.0` occurrences
  are the tag-history row and the test-count history -- both are statements
  about the past and both stay.
- The tag-history list gains `v0.8.1` as the current tag and demotes the
  `v0.8.0` row to what it was; `v0.7.0` is untouched, and `docs/` is not
  rewritten at all.
- The test-count history sentence named the `v0.8.0` release as the last
  one and would have become false on this tag: it now records 1582 through
  `v0.8.1` as well. The published figures 1583 collected / 1582 passed /
  1 skipped were re-measured here and stand.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
Kjell Tore Guttormsen 2026-09-10 23:03:28 +02:00
commit 3daf983de1
5 changed files with 31 additions and 13 deletions

View file

@ -9,7 +9,7 @@ call anywhere in the run path.
Python 3.10+ and [uv](https://docs.astral.sh/uv/). One line:
```sh
uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.0"
uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1"
```
## 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:
```sh
uv pip install "llm-ingestion-okf @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.0"
uv pip install "llm-ingestion-okf @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1"
```
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.0`
entry in the `pyproject.toml` **of the tag it is installing**, and `v0.8.1`
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
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
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.0"
pip install "llm-ingestion-okf @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1"
```
The guard tag is paired to the okf tag, not to this branch. `v0.8.0` declares
The guard tag is paired to the okf tag, not to this branch. `v0.8.1` declares
`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
off `main` and installing it against an older okf tag is the one combination
@ -88,8 +88,14 @@ that fails.
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.
- `v0.8.0` — the current tag: `.xml` is a core file type, read as NISO-STS
through the stdlib parser, and a section the source DECLARES takes the
- `v0.8.1` — the current tag: a question that accounts for a concept's WHOLE
title reads that concept first (`--title-covered`, on by default, opt out
with `--no-title-covered`). A ranking fix, no new functionality: on one
publisher's 2 761-concept bundle the answering section was delivered at
rank 1 on 3 of 6 scored questions before it and 6 of 6 after, and no other
measured bundle's payload changed one byte.
- `v0.8.0``.xml` is a core file type, read as NISO-STS through the stdlib
parser, and a section the source DECLARES takes the
declared-structure route — one publisher's process code segments at 2 761 of
2 761 of its own declared sections at the shipped defaults. No other file
type changes one byte, measured on the bytes.
@ -494,7 +500,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.
```sh
uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.0"
uv tool install "llm-ingestion-okf[extract] @ git+https://git.fromaitochitta.com/open/llm-ingestion-okf.git@v0.8.1"
okf project ~/my-documents
claude
```
@ -810,8 +816,9 @@ extra installed. Both numbers are given because they are two measurements: the
figure published before this round was the PASSED count, and `pytest
--collect-only -q` reported one more.
(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 and at 1575
through it: a count is a measurement with a date on it.)
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
measurement with a date on it.)
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
**not** been re-measured since. The tests holding the fail-fast rejection for