4.0 KiB
4.0 KiB
Release Readiness
Status and ownership
ConfigKit's implementation is prepared for release-candidate validation, but no release candidate has been selected or publication authorized. The maintainer preparing the first release owns the remaining gates under the temporary bootstrap exception. This evidence record remains until candidate preparation retires completed roadmap material in favor of the operational release procedure and normal release notes.
Preparation evidence
| Preparation item | Status and evidence |
|---|---|
| Module and support matrix | Closed: the runbook records module gitea.maximumdirect.net/eric/ConfigKit, minimum Go 1.25 with a patched 1.25 plus newer supported toolchain, and Linux/macOS on amd64/arm64. |
| Maintainer release procedure | Closed: docs/release.md owns access prerequisites, candidate recording, complete validation, exact remote/commit/tag guards, source-only publication, consumer retrieval, and correction. |
| Automated source checker | Closed for current-source preparation: scripts/release-check.sh passed on 2026-09-06 with Go 1.25.5 and Go 1.26.7 on linux/amd64. It performs disposable-copy module hygiene, cached/offline tests, race, vet, native and four-target cross-builds, formatting/whitespace, examples, import isolation, and local-link gates. The exact candidate must rerun it. |
| Consumer verification procedure | Closed as procedure: the runbook retrieves an exact published version into a clean temporary module with no local replacement and tests/builds it. Actual retrieval remains a post-publication gate. |
| Secret/precedence/explanation evidence | Closed locally: current contracts and deterministic tests cover bootstrap skip/partial failure, credential isolation, defaults/base/profile/CLI precedence, historical redaction, and maintained consumer startup examples. |
| Parser dependency reassessment | Closed for preparation: on 2026-09-06, go list -m -versions go.yaml.in/yaml/v4 and go list -m -json go.yaml.in/yaml/v4@latest both showed v4.0.0-rc.6 as the newest available release. The explicit pin is retained; a candidate compatibility review must reassess and record it again. |
Outstanding release gates
| Gate | Owner and closure evidence |
|---|---|
| Exact candidate and release note | Maintainer selects an unused stable version, writes docs/releases/<version>.md, commits all release changes, runs the checker against that exact clean commit, pushes it to origin/main, and records the commit. |
| Native platform execution | Maintainer records applicable checker, race, symlink, and permission-fixture results on native Linux and macOS. Current local evidence is Linux/amd64 only; cross-builds do not close macOS execution. |
| Compatibility, migration, and content review | Maintainer records public API/configuration/diagnostic review, downstream migration impact, release-note approval, and inspection for credentials, private data, generated output, unintended files, and unrelated changes. |
| Roadmap retirement | Maintainer removes obsolete completed files under docs/roadmap/, repairs inbound links, and reruns the checker as part of the candidate. This record and the implementation plan intentionally remain while no candidate exists. |
| Remote publication guards | Maintainer fetches authoritative origin/main and tags immediately before publication and proves branch, clean worktree/index, candidate commit, remote commit, release note, approvals, and unused version all agree. |
| Tag and retrieval verification | After authorization, maintainer pushes only the exact immutable source tag, verifies its peeled remote commit, and retrieves/tests/builds the exact version in a clean consumer module without replace. |
No tag, push, downstream migration, release note, or release publication was performed during implementation. A green local checker does not close the exact candidate, native macOS, remote, or post-publication gates.