docs(okf-v0.2): admit portfolio-optimiser to the pilot set, re-point Test A

Operator decision 2026-08-09, on their request. po-claude is parked until the
MAF version ships, so Test A's verdict is not coming from the original
producer.

The admission is about the axis, not the headcount. With po-claude parked, no
original pilot member could EMIT a v0.2 bundle at all -- claude-code-llm-wiki
is read-only in the pilot and catalog is gate-side -- so GA exit criterion 5's
emit half had no possible runner. portfolio-optimiser consumes the same Door A
and is the D7 sibling of the parked repo, which makes it a substitute for the
axis rather than a fourth opinion on it.

A-E1 now measures a wider span than it was written for, because they are
pinned at v0.3.2. Measured rather than asserted: the three DEFAULT goldens are
byte-identical v0.3.2 -> v0.5.0a2, so the measurement can be cited instead of
asking them to trust the additivity promise.

CHANGELOG amends the pilot set under [Unreleased] rather than editing the
released v0.5.0a1 entry, which records what was true when that tag shipped.
It also states the guard pin that tag actually carries (>=0.2,<0.3, resolving
against guard v0.2.0), since main has since moved to >=0.3,<0.4.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TgTrQdexGdLYmt1ZMenPyC
This commit is contained in:
Kjell Tore Guttormsen 2026-08-09 10:04:53 +02:00
commit 7d9bc0cddd
2 changed files with 66 additions and 4 deletions

View file

@ -9,6 +9,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Changed
- **The v0.5.0 pilot set gained a fourth member: `portfolio-optimiser`.** Admitted
2026-08-09 on their request. `v0.5.0a1`'s entry below says "do not pin this tag
outside the pilot set" and names three repos; that entry is left as written,
because it records what was true when the tag shipped. This is the amendment,
and the sentence still binds — the set is now those three plus
`portfolio-optimiser`.
The reason is the producer axis, not the count. `portfolio-optimiser-claude` is
parked, and with it parked no original member could *emit* a v0.2 bundle at all:
`claude-code-llm-wiki` is read-only in the pilot and `catalog` is gate-side. The
new member consumes the same Door A. Nothing about the provisional surface
changes: `OKF_LATEST` still points at `DEFAULT`, and the v0.2 surface may still
move on pilot feedback without a deprecation cycle.
**If you pin `v0.5.0a2`, its guard pin is `>=0.2,<0.3`** — that tag resolves
against guard `v0.2.0`, *not* the `v0.3.4` this repo's `main` now uses. `main`
moved to `>=0.3,<0.4` after the tag. Also note `tool.uv.sources` is not
inherited transitively: a consumer supplies the guard's source itself.
- **The guard pin moved to `>=0.3,<0.4`, resolved against `v0.3.4`.** The
window is widened only after measurement, never before: the 19-fixture
guard-surface suite was run against `v0.3.4` in a scratch venv first, and