Complete integer schema version consumer readiness

This commit is contained in:
2026-09-12 00:33:49 +00:00
parent 8702121fa4
commit fd8a68d268
11 changed files with 93 additions and 152 deletions

View File

@@ -1,7 +1,9 @@
# Integer schema versions: implementation plan
Status: in progress. The [feature roadmap](integer-schema-versions.md) owns the
intended behavior and architecture; this document owns execution and progress.
Status: implementation complete (2026-09-12). The
[feature roadmap](integer-schema-versions.md) records the feature scope, the
[configuration contract](../config.md) owns implemented behavior, and this document
owns execution and progress.
## Execution rules
@@ -127,7 +129,7 @@ and release-readiness validation without publishing a release.
## Stage 4 — Complete consumer evidence and release readiness
Status: not started. Depends on: Stage 3.
Status: complete (2026-09-12). Depends on: Stage 3.
Scope: maintained Notarius-shaped examples/fixtures, consumer documentation,
documentation consistency review, and validation handoff. No downstream app edits.
@@ -167,3 +169,22 @@ CONFIGKIT_NEWER_TOOLCHAIN=go1.26.7 \
Rerun exact-commit release checks after
any later candidate or roadmap-retirement changes.
Completion record: maintained Notarius fixtures now accept integer `4` and quoted
`"4"` with the same string-backed result. Unsupported integer `5` reaches domain
policy, fractional `4.0` remains `version.type`, and dynamic option integers remain
`int64`. Current documentation and Go examples were audited; canonical behavior is
owned by the configuration contract and consumer guide, while historical release,
extraction, and ADR records were left unchanged. The focused consumer/example
commands, `./scripts/check.sh`, and the full release checker pass on Linux with
Go 1.25.5 and Go 1.26.7.
Compatibility handoff: exported API shapes are unchanged, but integer input at a
configured version path intentionally changes from structural rejection to invoking
application policy and, for plain string destinations, successful decoding. The
conservative release choice is therefore a new pre-v1 minor version, subject to
maintainer selection and unused-version checks. No version, note, candidate, or tag
was created. Release preparation must still select the version, create and approve
matching notes, retire these completed roadmap files, rerun Linux and native macOS
checks on the exact candidate commit, push and guard that commit, publish the exact
tag, and verify clean consumer retrieval.