diff --git a/docs/releases/v0.26.0.md b/docs/releases/v0.26.0.md new file mode 100644 index 0000000..4693b61 --- /dev/null +++ b/docs/releases/v0.26.0.md @@ -0,0 +1,83 @@ +# v0.26.0 + +Runner v0.26.0 completes the v0.26.0 milestone. It ships the explicitly selected +`retained-column/1` Base consumer for Agent v0.11 that `v0.26.0-alpha.1` introduced +(#183), moved from the Spec `v0.3.0-rc.2` candidate to the published +[Spec `v0.3.0`](https://github.com/Judgment-Pack/judgment-pack-spec/releases/tag/v0.3.0). +It also carries the CI headroom change from `v0.26.0-alpha.2` (#184), and tests for +#86 and #147. The Spec's maturity remains `draft`. Ordinary Runner input routes are +unchanged and still evaluate under `0.2.0-draft`. This release claims no Extended +Runner support. + +## What an operator must do + +- **Re-create alpha-era selected work.** Selected releases, runs and exports made by + `v0.26.0-alpha.1` or `v0.26.0-alpha.2` under the rc.2 contract cannot be read or + verified by this release. Re-create them under the final contract. Ordinary + (`0.2.0-draft`) releases, runs and exports are unaffected. +- **Update callers that name the contract.** A caller that selects the rc.2 contract + is refused `capability-unsupported`, whether by header, flag or capability report. + Select `retained-column/1` at Spec `v0.3.0@27cb29bf13e4a2d58d69fe19c7ebfeb762b014fc`. +- The usual care applies before any upgrade: stop Desk and Runner and back up the Jobs + workspace, including SQLite/WAL, as + [State and backups](../../README.md#state-and-backups) describes. The store schema + is unchanged and there is no migration. + +## The installed contract + +The installed selection moves from `0.3.0-rc.2@bcac15b7` to Spec +`v0.3.0@27cb29bf13e4a2d58d69fe19c7ebfeb762b014fc`. Schema +`sha256:0cb49f238c78391cb163a65474cc9af962df2bb1024a55c5310c2b784b2f0557` and corpus +`sha256:17b16ff7a9b74fe4cc81eb6f6129a6aabdd9834621d9e756aa2d4c1a3f245863` are +byte-identical to rc.2's. The leaf fixtures, release identity and inventory (file +sha256 `c8e489b2cabd0ee0b794a8b6a817f06f901e338348e32ec23c8c83d7c40dfe58`) come from +the verified `v0.3.0` archive. `/v1/health` `conversionContracts` and +`verify-preparation` report the new tuple. A new public vector, +`vectors/retained-column-selection-v0.3.0.json`, sits beside the rc.2 vector, which is +kept as history. + +The selected route admits Runtime's Core `0.3.0` Base evaluator. CI's retained +companion Runtime moves to `v0.39.0` (`12793d2d`). The other Runtime, Gateway and +old-Runner pins do not move. + +## Dialect document checks (#86) + +CI now holds the Runner's dialect reader to the Runtime `v0.39.0` document tools. +Both sides give the same canonical bytes and digest on 47 shared vectors, and both +refuse 5 malformed documents. The Runtime's document tools are pinned to Spec +`b7cc8906`, not `v0.3.0`. This check therefore shows agreement with that revision +and makes no claim about the dialect page at `v0.3.0`. The Runner keeps its own +reader and calls no Runtime tool at run time; see +[the design note](../design/dialect-document-checks.md). There is no production +change. + +## Governed dispatch admission (#147) + +Acceptance tests cover the remaining cases of #147 against the real Runtime: +- omitted-dependency substitution; +- withdrawal, enqueue and dispatch orderings; +- a lost admission response; +- worker restart and fencing; +- identity revocation; +- restore from before a withdrawal. + +There are 6 cases with 21 subtests. The orderings are scripted interleavings. No case +revealed a missing mechanic, so there is no production change. The fence is described +in the names of the agent's ADR-0025, `{resource, owner, epoch}`, in +[the admission gate design](../design/manual-admission-gate.md). An epoch is accepted +only as a canonical decimal string, and a JSON number is refused. The Runner accepts +epochs up to 2^64−1, a superset of ADR-0025's 18-digit bound. + +## Not in this release + +The genuine `0.3.0` dialect recording set (#174) needs ordinary Core `0.3.0` +admission first, and that is tracked as #188. Both are in v0.28.0. + +## Also + +`docs/releasing.md` names the two prerelease forms the development kit's policy +defines. `-rc.N` is a candidate of the complete milestone. `-alpha.N` is a scoped +cut for a named consumer that never graduates. + +Review: the pre-release review of #187 and of `v0.25.0..` is on #187 (a Claude Opus +review of a Claude Opus build; not a cross-vendor claim).