Upgrade ReleaseKit and require Go 1.26
This commit is contained in:
@@ -7,9 +7,11 @@ caller retains process startup, signal handling, and exit mapping.
|
|||||||
|
|
||||||
## Go compatibility
|
## Go compatibility
|
||||||
|
|
||||||
The consumer minimum is declared in [go.mod](../../go.mod). Its current patch
|
The consumer minimum is declared in [go.mod](../../go.mod): Go 1.26.0.
|
||||||
minimum follows the pinned PromptKit v0.12.0 dependency's `go 1.25.5` requirement;
|
ReleaseKit v0.3.0 requires that version and is selected as a tool dependency in
|
||||||
see that dependency's [module declaration](https://gitea.maximumdirect.net/eric/promptkit/src/commit/4b8169da286917fde7875425bb32b799b12c6af3/go.mod).
|
the same module graph. The minimum therefore applies to library consumers even
|
||||||
|
though production packages do not import ReleaseKit. Consumers using Go 1.25
|
||||||
|
need a Go 1.26 or newer toolchain to adopt this revision.
|
||||||
|
|
||||||
The [release policy](../policy/release.md#consumer-minimum-and-release-toolchain)
|
The [release policy](../policy/release.md#consumer-minimum-and-release-toolchain)
|
||||||
defines support assumptions and versioning for changes to that minimum.
|
defines support assumptions and versioning for changes to that minimum.
|
||||||
|
|||||||
@@ -54,7 +54,7 @@ canonical documentation owners.
|
|||||||
| Public facade or adapter boundaries | [Internal overview](internal/overview.md), [ADR 0003](adr/0003-public-facade.md), and the architecture policy |
|
| Public facade or adapter boundaries | [Internal overview](internal/overview.md), [ADR 0003](adr/0003-public-facade.md), and the architecture policy |
|
||||||
| Deferred capabilities and delivery scope | [Initial feature target](roadmap/initial.md#deferred-capability-targets) and [explicit deferrals](roadmap/initial.md#explicit-deferrals) |
|
| Deferred capabilities and delivery scope | [Initial feature target](roadmap/initial.md#deferred-capability-targets) and [explicit deferrals](roadmap/initial.md#explicit-deferrals) |
|
||||||
| Initial planning history | [CLI](roadmap/01-cli-plan.md), [dispatcher](roadmap/02-dispatch.md), [backend](roadmap/03-backend.md), [facade](roadmap/04-facade.md), and [completed initial implementation record](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/3871d837489b9955998b362587a52b47282dc021/docs/roadmap/implementation.md) |
|
| Initial planning history | [CLI](roadmap/01-cli-plan.md), [dispatcher](roadmap/02-dispatch.md), [backend](roadmap/03-backend.md), [facade](roadmap/04-facade.md), and [completed initial implementation record](https://gitea.maximumdirect.net/eric/CommandKit/src/commit/3871d837489b9955998b362587a52b47282dc021/docs/roadmap/implementation.md) |
|
||||||
| Release tooling | [Maintainer release procedure](release.md) |
|
| Release tooling | [Maintainer release procedure](release.md) and [ReleaseKit upgrade roadmap](roadmap/releasekit.md) |
|
||||||
| Performance work | [Computational efficiency roadmap](roadmap/performance.md) and [performance implementation record](roadmap/implementation.md) |
|
| Performance work | [Computational efficiency roadmap](roadmap/performance.md) and [performance implementation record](roadmap/implementation.md) |
|
||||||
| Licensing or incorporated material | [Project grant](../COPYRIGHT), [license texts](../LICENSE), and [attribution](oss/attribution.md) |
|
| Licensing or incorporated material | [Project grant](../COPYRIGHT), [license texts](../LICENSE), and [attribution](oss/attribution.md) |
|
||||||
| Policy provenance | [Policy provenance](policy/meta.md) |
|
| Policy provenance | [Policy provenance](policy/meta.md) |
|
||||||
|
|||||||
@@ -23,7 +23,7 @@ policy and link to it rather than introduce additional release requirements.
|
|||||||
|
|
||||||
CommandKit releases source-only Go modules. Standard CLI behavior is exposed by
|
CommandKit releases source-only Go modules. Standard CLI behavior is exposed by
|
||||||
consuming applications; CommandKit does not declare binary deliverables or a
|
consuming applications; CommandKit does not declare binary deliverables or a
|
||||||
cross-platform build matrix. ReleaseKit v0.2.0 is selected as the maintainer
|
cross-platform build matrix. ReleaseKit v0.3.0 is selected as the maintainer
|
||||||
publication tool. The [release procedure](../release.md) owns its source-only
|
publication tool. The [release procedure](../release.md) owns its source-only
|
||||||
workflow and repository-specific commands; the integration adds no application
|
workflow and repository-specific commands; the integration adds no application
|
||||||
command family or runtime ReleaseKit import.
|
command family or runtime ReleaseKit import.
|
||||||
|
|||||||
@@ -16,21 +16,21 @@ POSIX shell.
|
|||||||
This procedure follows the [release policy](policy/release.md); the release-note
|
This procedure follows the [release policy](policy/release.md); the release-note
|
||||||
footer follows the [OSS discoverability policy](policy/oss.md#discoverability).
|
footer follows the [OSS discoverability policy](policy/oss.md#discoverability).
|
||||||
|
|
||||||
ReleaseKit v0.2.0 owns candidate validation, publication guards, annotated tag
|
ReleaseKit v0.3.0 owns candidate validation, publication guards, annotated tag
|
||||||
creation, tag publication, and outcome reporting. The repository profile selects
|
creation, tag publication, and outcome reporting. The repository profile selects
|
||||||
only its default candidate suite. The launcher bootstraps the module-selected
|
only its default candidate suite. The launcher bootstraps the module-selected
|
||||||
native executable into ignored `.releasekit/` storage and invokes its `publish`
|
native executable into ignored `.releasekit/` storage and invokes its `publish`
|
||||||
command. The upstream [CLI reference](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e030794969fb7787e647a90bbc4eb81bd0610f07/docs/cli.md),
|
command. The upstream [CLI reference](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e43df4416e0ed987349b2ea04a2c68c25e552772/docs/cli.md),
|
||||||
[profile reference](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e030794969fb7787e647a90bbc4eb81bd0610f07/docs/config.md),
|
[profile reference](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e43df4416e0ed987349b2ea04a2c68c25e552772/docs/config.md),
|
||||||
and [publication guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e030794969fb7787e647a90bbc4eb81bd0610f07/docs/consumers/publish.md)
|
and [publication guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e43df4416e0ed987349b2ea04a2c68c25e552772/docs/consumers/publish.md)
|
||||||
own detailed command, profile, and status contracts.
|
own detailed command, profile, and status contracts.
|
||||||
|
|
||||||
## Release toolchain
|
## Release toolchain
|
||||||
|
|
||||||
The selected release toolchain is **Go 1.25.5**, matching the current declared
|
The selected release toolchain is **Go 1.26.8**. The consumer minimum is
|
||||||
consumer minimum. This keeps candidate validation within the supported Go series.
|
**Go 1.26.0**; validation uses a later patch within that supported Go series.
|
||||||
The [consumer guide](consumers/guide.md#go-compatibility) explains the minimum and
|
The [consumer guide](consumers/guide.md#go-compatibility) explains the minimum and
|
||||||
its dependency-based patch requirement; the
|
its shared tool-module requirement; the
|
||||||
[release policy](policy/release.md#consumer-minimum-and-release-toolchain) governs
|
[release policy](policy/release.md#consumer-minimum-and-release-toolchain) governs
|
||||||
changes to either selection.
|
changes to either selection.
|
||||||
|
|
||||||
@@ -44,14 +44,14 @@ Ensure Go's executable installation directory (`GOBIN`, or `GOPATH/bin` by
|
|||||||
default) is on `PATH` so the downloaded-version wrapper can be invoked:
|
default) is on `PATH` so the downloaded-version wrapper can be invoked:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
GOWORK=off GOTOOLCHAIN=local go install golang.org/dl/go1.25.5@latest
|
GOWORK=off GOTOOLCHAIN=local go install golang.org/dl/go1.26.8@latest
|
||||||
go1.25.5 download
|
go1.26.8 download
|
||||||
export PATH="$(go1.25.5 env GOROOT)/bin:$PATH"
|
export PATH="$(go1.26.8 env GOROOT)/bin:$PATH"
|
||||||
hash -r
|
hash -r
|
||||||
GOWORK=off GOTOOLCHAIN=local go version
|
GOWORK=off GOTOOLCHAIN=local go version
|
||||||
```
|
```
|
||||||
|
|
||||||
The final command should identify Go 1.25.5. An existing Go 1.25.5 installation
|
The final command should identify Go 1.26.8. An existing Go 1.26.8 installation
|
||||||
may be selected directly on `PATH` instead. Toolchain installation and dependency
|
may be selected directly on `PATH` instead. Toolchain installation and dependency
|
||||||
preparation precede the offline publication checks; they add no validation pass.
|
preparation precede the offline publication checks; they add no validation pass.
|
||||||
|
|
||||||
@@ -116,7 +116,7 @@ to the expected endpoint, or when an exact tag-object query confirms that push
|
|||||||
after an error. Status 0 reports confirmed publication. Status 1 reports a
|
after an error. Status 0 reports confirmed publication. Status 1 reports a
|
||||||
known failure or conflict; status 2 reports invalid input or profile; status 3
|
known failure or conflict; status 2 reports invalid input or profile; status 3
|
||||||
means the push outcome remains unresolved. See the upstream [CLI status
|
means the push outcome remains unresolved. See the upstream [CLI status
|
||||||
contract](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e030794969fb7787e647a90bbc4eb81bd0610f07/docs/cli.md).
|
contract](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e43df4416e0ed987349b2ea04a2c68c25e552772/docs/cli.md).
|
||||||
|
|
||||||
For a failed or ambiguous push, use the exact endpoint, version, and annotated
|
For a failed or ambiguous push, use the exact endpoint, version, and annotated
|
||||||
tag object reported by the invocation. Confirm that Git still resolves the
|
tag object reported by the invocation. Confirm that Git still resolves the
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
# ReleaseKit v0.3.0 upgrade roadmap
|
# ReleaseKit v0.3.0 upgrade roadmap
|
||||||
|
|
||||||
Status: upgrade and Go 1.26.0 consumer minimum accepted; implementation not begun.
|
Status: implemented; ReleaseKit v0.3.0, Go 1.26.0 minimum, and Go 1.26.8
|
||||||
|
release toolchain are in place.
|
||||||
|
|
||||||
Date: 2026-10-08.
|
Date: 2026-10-08.
|
||||||
|
|
||||||
@@ -11,8 +12,8 @@ v0.3.0 and simultaneously raise CommandKit's declared Go consumer minimum to
|
|||||||
1.26.0. The user has accepted both changes. Retain the existing root-module Go
|
1.26.0. The user has accepted both changes. Retain the existing root-module Go
|
||||||
tool dependency and source-only publication workflow.
|
tool dependency and source-only publication workflow.
|
||||||
|
|
||||||
This document defines the desired end state and work needed from the reviewed
|
This document records the target state, completed upgrade work, and evidence
|
||||||
baseline. A later implementation plan can define ordered execution steps. The
|
from the reviewed baseline. The
|
||||||
[release policy](../policy/release.md),
|
[release policy](../policy/release.md),
|
||||||
[architecture policy](../policy/architecture.md),
|
[architecture policy](../policy/architecture.md),
|
||||||
[agent policy](../policy/agents.md),
|
[agent policy](../policy/agents.md),
|
||||||
@@ -33,10 +34,10 @@ worktree. ReleaseKit v0.3.0 identifies commit
|
|||||||
matched that revision during review. Its [release notes](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e43df4416e0ed987349b2ea04a2c68c25e552772/docs/releases/v0.3.0.md)
|
matched that revision during review. Its [release notes](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e43df4416e0ed987349b2ea04a2c68c25e552772/docs/releases/v0.3.0.md)
|
||||||
record the compatibility and upgrade guidance.
|
record the compatibility and upgrade guidance.
|
||||||
|
|
||||||
| Area | Current baseline | Target |
|
| Area | Reviewed baseline | Target |
|
||||||
| --- | --- | --- |
|
| --- | --- | --- |
|
||||||
| Module | `go 1.25.5`; ReleaseKit v0.2.0 selected through a `tool` directive and module requirement. | `go 1.26.0`; the same CLI tool dependency selects ReleaseKit v0.3.0. |
|
| Module | `go 1.25.5`; ReleaseKit v0.2.0 selected through a `tool` directive and module requirement. | `go 1.26.0`; the same CLI tool dependency selects ReleaseKit v0.3.0. |
|
||||||
| Release toolchain | Go 1.25.5 selected in the runbook. The review environment has Go 1.26.8. | One selected Go 1.26 patch toolchain, documented separately from the consumer minimum; see OD-1. |
|
| Release toolchain | Go 1.25.5 selected in the runbook. The review environment has Go 1.26.8. | Go 1.26.8, documented separately from the Go 1.26.0 consumer minimum. |
|
||||||
| Launcher | `scripts/release` builds the module-selected native CLI in readonly mode and delegates publication with argument, status, and stream preservation. | The same bootstrap and delegation use v0.3.0 under the selected compatible toolchain. |
|
| Launcher | `scripts/release` builds the module-selected native CLI in readonly mode and delegates publication with argument, status, and stream preservation. | The same bootstrap and delegation use v0.3.0 under the selected compatible toolchain. |
|
||||||
| Profile | `releasekit.json` specifies product, remote, and expected push endpoint; validation uses the default suite. | The same minimal source-only profile. |
|
| Profile | `releasekit.json` specifies product, remote, and expected push endpoint; validation uses the default suite. | The same minimal source-only profile. |
|
||||||
| Evidence | Deterministic launcher tests and an opt-in publication exercise against disposable local Git repositories exist. | Those boundaries work with the upgraded module selection and toolchain. |
|
| Evidence | Deterministic launcher tests and an opt-in publication exercise against disposable local Git repositories exist. | Those boundaries work with the upgraded module selection and toolchain. |
|
||||||
@@ -44,8 +45,8 @@ record the compatibility and upgrade guidance.
|
|||||||
|
|
||||||
The upstream CLI, profile schema, and public signatures are unchanged. ReleaseKit
|
The upstream CLI, profile schema, and public signatures are unchanged. ReleaseKit
|
||||||
itself raises its minimum from Go 1.25.0 to 1.26.0; its dependency versions are
|
itself raises its minimum from Go 1.25.0 to 1.26.0; its dependency versions are
|
||||||
unchanged from v0.2.0. No test suite or publication exercise was run during this
|
unchanged from v0.2.0. The original planning review did not run a test suite or
|
||||||
planning pass.
|
publication exercise; completed upgrade validation is recorded below.
|
||||||
|
|
||||||
## Target end state
|
## Target end state
|
||||||
|
|
||||||
@@ -99,73 +100,69 @@ delivery. Their improvements are available if those capabilities are deliberatel
|
|||||||
selected later; this upgrade does not enable them. No CommandKit latency or
|
selected later; this upgrade does not enable them. No CommandKit latency or
|
||||||
allocation target is part of adoption.
|
allocation target is part of adoption.
|
||||||
|
|
||||||
## Work needed
|
## Completed upgrade work
|
||||||
|
|
||||||
### Module and toolchain alignment
|
### Module and toolchain alignment
|
||||||
|
|
||||||
- Select the release-validation patch under OD-1 and document its installation
|
- [x] Select Go 1.26.8 under OD-1 and document its installation
|
||||||
and `PATH` setup in the runbook. Use that toolchain for upgrade validation and
|
and `PATH` setup in the runbook. Use that toolchain for upgrade validation and
|
||||||
subsequent release tasks governed by the procedure.
|
subsequent release tasks governed by the procedure.
|
||||||
- Upgrade the existing CLI tool dependency to v0.3.0 and set the Go directive to
|
- [x] Upgrade the existing CLI tool dependency to v0.3.0 and set the Go directive to
|
||||||
exactly 1.26.0 using ordinary Go module tooling. Review the resulting module
|
exactly 1.26.0 using ordinary Go module tooling. Review the resulting module
|
||||||
and checksum changes, including any automatically generated toolchain metadata.
|
and checksum changes, including any automatically generated toolchain metadata.
|
||||||
Keep the consumer floor separate from the maintainer patch selection.
|
Keep the consumer floor separate from the maintainer patch selection.
|
||||||
- Prepare dependencies before offline validation. The local sibling checkout is
|
- [x] Prepare dependencies before offline validation. The local sibling checkout is
|
||||||
review evidence, not a replacement module or build prerequisite. Diagnose any
|
review evidence, not a replacement module or build prerequisite. Diagnose any
|
||||||
checksum failure using upstream guidance and retain checksum verification.
|
checksum failure using upstream guidance and retain checksum verification.
|
||||||
- Review incidental module changes. ConfigKit, PromptKit, and backend upgrades
|
- [x] Review incidental module changes. ConfigKit, PromptKit, and backend upgrades
|
||||||
are separate work; v0.3.0 does not require new versions of its own dependencies.
|
are separate work; v0.3.0 does not require new versions of its own dependencies.
|
||||||
|
|
||||||
### Launcher and profile verification
|
### Launcher and profile verification
|
||||||
|
|
||||||
- Confirm the existing launcher builds the upgraded native executable from the
|
- [x] Confirm the existing launcher builds the upgraded native executable from the
|
||||||
module-selected package and preserves publication arguments, streams, and
|
module-selected package and preserves publication arguments, streams, and
|
||||||
statuses. Confirm that the executable identifies ReleaseKit v0.3.0.
|
statuses. Confirm that the executable identifies ReleaseKit v0.3.0.
|
||||||
- Retain the current profile and launcher design. Change implementation only if
|
- [x] Retain the current profile and launcher design. Change implementation only if
|
||||||
a demonstrated compatibility issue requires it; no migration is indicated by
|
a demonstrated compatibility issue requires it; no migration is indicated by
|
||||||
the reviewed upstream CLI or schema.
|
the reviewed upstream CLI or schema.
|
||||||
- Reuse existing launcher tests. Adjust fixtures only where the selected version
|
- [x] Reuse existing launcher tests. Adjust fixtures only where the selected version
|
||||||
or Go requirement actually affects their behavior. An older version string
|
or Go requirement actually affects their behavior. An older version string
|
||||||
used to test rejection of an independent package pin need not be replaced just
|
used to test rejection of an independent package pin need not be replaced just
|
||||||
because the adopted version changes.
|
because the adopted version changes.
|
||||||
|
|
||||||
### Canonical documentation and provenance
|
### Canonical documentation and provenance
|
||||||
|
|
||||||
- Update [docs/policy/release.md](../policy/release.md) to identify the selected
|
- [x] Update [docs/policy/release.md](../policy/release.md) to identify the selected
|
||||||
ReleaseKit version while retaining its v1.6 upstream provenance and local
|
ReleaseKit version while retaining its v1.6 upstream provenance and local
|
||||||
source-only rules. This tooling upgrade is not another policy-template adoption.
|
source-only rules. This tooling upgrade is not another policy-template adoption.
|
||||||
- Update [docs/release.md](../release.md) with the selected Go 1.26 patch,
|
- [x] Update [docs/release.md](../release.md) with the selected Go 1.26 patch,
|
||||||
executable setup commands, and v0.3.0 source-pinned upstream references. Keep
|
executable setup commands, and v0.3.0 source-pinned upstream references. Keep
|
||||||
versioning rules in the policy and operations in the runbook.
|
versioning rules in the policy and operations in the runbook.
|
||||||
- Update the [consumer guide](../consumers/guide.md#go-compatibility) to explain
|
- [x] Update the [consumer guide](../consumers/guide.md#go-compatibility) to explain
|
||||||
the Go 1.26.0 minimum and shared tool-module reason. The current attribution
|
the Go 1.26.0 minimum and shared tool-module reason. The current attribution
|
||||||
of the floor to PromptKit's Go 1.25.5 requirement becomes obsolete.
|
of the floor to PromptKit's Go 1.25.5 requirement becomes obsolete.
|
||||||
- Check contributor navigation and current references affected by the upgrade.
|
- [x] Check contributor navigation and current references affected by the upgrade.
|
||||||
Historical planning records and immutable release notes retain their original
|
Historical planning records and immutable release notes retain their original
|
||||||
facts; avoid replacing every historical version string.
|
facts; avoid replacing every historical version string.
|
||||||
- Apply the [OSS policy](../policy/oss.md) to the actual material scope. Tool use
|
- [x] Apply the [OSS policy](../policy/oss.md) to the actual material scope. Tool use
|
||||||
alone does not require a new attribution entry. Update entries or license links
|
alone does not require a new attribution entry. Update entries or license links
|
||||||
if incorporated material or dependency selection changes require it.
|
if incorporated material or dependency selection changes require it.
|
||||||
- Explain the Go minimum increase and required consumer action in the next
|
|
||||||
CommandKit release note. Select the CommandKit version during release
|
|
||||||
preparation under policy, rather than borrowing ReleaseKit's version or
|
|
||||||
creating an arbitrarily named release note during this upgrade.
|
|
||||||
|
|
||||||
### Validation and completion evidence
|
### Validation and completion evidence
|
||||||
|
|
||||||
Use the existing validation boundaries rather than adding recurring release gates:
|
Use the existing validation boundaries rather than adding recurring release gates:
|
||||||
|
|
||||||
- Run the deterministic offline default suite under the selected toolchain,
|
- [x] Run the deterministic offline default suite under the selected toolchain,
|
||||||
covering the public library and native launcher behavior.
|
covering the public library and native launcher behavior.
|
||||||
- Exercise the existing opt-in local publication test with the upgraded module
|
- [x] Exercise the existing opt-in local publication test with the upgraded module
|
||||||
selection after cache preparation. It covers a real native bootstrap, exact
|
selection after cache preparation. It covers a real native bootstrap, exact
|
||||||
candidate tag publication to a disposable bare repository, one candidate suite,
|
candidate tag publication to a disposable bare repository, one candidate suite,
|
||||||
clean fixture state, and endpoint-mismatch preflight. Keep it opt-in in normal
|
clean fixture state, and endpoint-mismatch preflight. Keep it opt-in in normal
|
||||||
development and publication; this is upgrade evidence, not a new release gate.
|
development and publication; this is upgrade evidence, not a new release gate.
|
||||||
- Inspect production package dependencies to confirm ReleaseKit remains outside
|
- [x] Inspect production package dependencies to confirm ReleaseKit remains outside
|
||||||
the root library and internal adapter import closures. Review module selection
|
the root library and internal adapter import closures. Review module selection
|
||||||
and CLI version evidence separately from that runtime boundary.
|
and CLI version evidence separately from that runtime boundary.
|
||||||
- Review canonical-document changes, local links/fragments, provenance, and
|
- [x] Review canonical-document changes, local links/fragments, provenance, and
|
||||||
whitespace. Record the actual toolchain, resolved module revision, checks run,
|
whitespace. Record the actual toolchain, resolved module revision, checks run,
|
||||||
outcomes, and any qualifications when marking this roadmap implemented.
|
outcomes, and any qualifications when marking this roadmap implemented.
|
||||||
|
|
||||||
@@ -186,19 +183,64 @@ This work does not publish CommandKit, add hosted delivery, split tooling into a
|
|||||||
second module, or change standard CLI/API semantics. Actual publication and its
|
second module, or change standard CLI/API semantics. Actual publication and its
|
||||||
fresh version-matched note remain a separate release-preparation task.
|
fresh version-matched note remain a separate release-preparation task.
|
||||||
|
|
||||||
## Open Decisions
|
## Completion evidence
|
||||||
|
|
||||||
|
Implemented from `efc5065` using Go 1.26.8 on Linux/amd64. The module now
|
||||||
|
contains `go 1.26.0`, the retained CLI tool declaration, and the ReleaseKit
|
||||||
|
v0.3.0 requirement/checksums. Module tidy retained that selection. No other
|
||||||
|
dependency versions changed and no toolchain directive was added. The downloaded
|
||||||
|
module's origin identifies the reviewed `e43df4416e0ed987349b2ea04a2c68c25e552772`
|
||||||
|
tag revision; dependency preparation required no checksum repair.
|
||||||
|
|
||||||
|
Validation completed:
|
||||||
|
|
||||||
|
- Default suite: `go test -mod=readonly -count=1 ./...` passed with `GOWORK=off`,
|
||||||
|
`GOTOOLCHAIN=local`, `GOPROXY=off`, `GONOPROXY=none`, and `GOSUMDB=off`.
|
||||||
|
This includes public library and deterministic launcher tests; existing test
|
||||||
|
sources were sufficient and unchanged.
|
||||||
|
- The existing local publication exercise passed with
|
||||||
|
`COMMANDKIT_RELEASE_INTEGRATION=1` and the same offline settings:
|
||||||
|
`go test -mod=readonly -count=1 ./scripts -run '^TestReleaseIntegration$' -v`.
|
||||||
|
It published only within disposable repositories and proved the candidate,
|
||||||
|
single suite execution, clean fixture, and endpoint-mismatch behaviors above.
|
||||||
|
- A native CLI was built in ignored `.releasekit/bin/` storage with the launcher's
|
||||||
|
host-target and readonly settings. Its `version` output was `releasekit v0.3.0`;
|
||||||
|
`go version -m` identified Go 1.26.8 and the module-selected v0.3.0 build.
|
||||||
|
- `go list -mod=readonly -deps` for the root package and `internal/cobra` found no
|
||||||
|
ReleaseKit, Goldmark, or `golang.org/x/mod` runtime imports. The launcher and
|
||||||
|
profile were unchanged. ReleaseKit remains tool-only material; no attribution
|
||||||
|
entry or copied source was added under the existing OSS policy.
|
||||||
|
- The runbook, release policy's local tool selection, consumer compatibility
|
||||||
|
explanation, and contributor navigation now describe the upgrade. The
|
||||||
|
release policy remains based on v1.6 at its existing upstream revision.
|
||||||
|
Local documentation destinations/fragments, shell snippet syntax, and
|
||||||
|
whitespace checks passed.
|
||||||
|
|
||||||
|
This verifies the upgrade without publishing CommandKit or establishing an
|
||||||
|
additional recurring release check. No upstream benchmark or test suite was
|
||||||
|
rerun; the evidence concerns CommandKit's selected integration.
|
||||||
|
|
||||||
|
## Release preparation follow-up
|
||||||
|
|
||||||
|
The next CommandKit release note must explain the Go minimum increase and
|
||||||
|
required consumer action. Its CommandKit version is selected during release
|
||||||
|
preparation under policy, with the matching note and footer. That separate
|
||||||
|
publication task was not performed or authorized by this upgrade; the current
|
||||||
|
consumer guide already explains the compatibility change.
|
||||||
|
|
||||||
|
## Selected decisions
|
||||||
|
|
||||||
### OD-1: release-validation patch version
|
### OD-1: release-validation patch version
|
||||||
|
|
||||||
**Recommendation: select Go 1.26.8.** It is the toolchain available in the
|
**Resolved: Go 1.26.8, accepted by the user and implemented.** It is the
|
||||||
review environment and used by ReleaseKit v0.3.0's maintainers. Using it avoids
|
toolchain available in the review environment and used by ReleaseKit v0.3.0's maintainers. Using it avoids
|
||||||
an additional installation in that environment and benefits from later patch
|
an additional installation in that environment and benefits from later patch
|
||||||
updates within the selected Go series. Declare `go 1.26.0` for consumers and
|
updates within the selected Go series. Declare `go 1.26.0` for consumers and
|
||||||
document 1.26.8 as the runbook's release-toolchain selection. The adopted
|
document 1.26.8 as the runbook's release-toolchain selection. The adopted
|
||||||
policy permits same-series support to be presumed from this validation; a
|
policy permits same-series support to be presumed from this validation; a
|
||||||
second mandatory run on 1.26.0 is unnecessary absent a concrete concern.
|
second mandatory run on 1.26.0 is unnecessary absent a concrete concern.
|
||||||
|
|
||||||
**Alternative: select Go 1.26.0.** It validates directly at the consumer floor
|
**Alternative considered: Go 1.26.0.** It validates directly at the consumer floor
|
||||||
and makes the minimum and release toolchain identical initially. It requires
|
and makes the minimum and release toolchain identical initially. It requires
|
||||||
installing that patch in the reviewed environment and forgoes subsequent patch
|
installing that patch in the reviewed environment and forgoes subsequent patch
|
||||||
updates. It is viable if direct minimum-toolchain validation is preferred, but
|
updates. It is viable if direct minimum-toolchain validation is preferred, but
|
||||||
|
|||||||
4
go.mod
4
go.mod
@@ -1,6 +1,6 @@
|
|||||||
module gitea.maximumdirect.net/eric/CommandKit
|
module gitea.maximumdirect.net/eric/CommandKit
|
||||||
|
|
||||||
go 1.25.5
|
go 1.26.0
|
||||||
|
|
||||||
require (
|
require (
|
||||||
gitea.maximumdirect.net/eric/ConfigKit v0.5.0
|
gitea.maximumdirect.net/eric/ConfigKit v0.5.0
|
||||||
@@ -11,7 +11,7 @@ require (
|
|||||||
)
|
)
|
||||||
|
|
||||||
require (
|
require (
|
||||||
gitea.maximumdirect.net/eric/ReleaseKit v0.2.0 // indirect
|
gitea.maximumdirect.net/eric/ReleaseKit v0.3.0 // indirect
|
||||||
gitea.maximumdirect.net/eric/promptkit-backend-openrouter/v3 v3.20260930.0 // indirect
|
gitea.maximumdirect.net/eric/promptkit-backend-openrouter/v3 v3.20260930.0 // indirect
|
||||||
gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v3 v3.20260930.0 // indirect
|
gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v3 v3.20260930.0 // indirect
|
||||||
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
|
|||||||
4
go.sum
4
go.sum
@@ -1,7 +1,7 @@
|
|||||||
gitea.maximumdirect.net/eric/ConfigKit v0.5.0 h1:2KwG10+kApWM3avOoYA+p768xcbHUp7tQ2rqizBNpyg=
|
gitea.maximumdirect.net/eric/ConfigKit v0.5.0 h1:2KwG10+kApWM3avOoYA+p768xcbHUp7tQ2rqizBNpyg=
|
||||||
gitea.maximumdirect.net/eric/ConfigKit v0.5.0/go.mod h1:tYWpsrbLyu05r8+1MapWp5fN6ZrX9I8hU2xEPedYmYk=
|
gitea.maximumdirect.net/eric/ConfigKit v0.5.0/go.mod h1:tYWpsrbLyu05r8+1MapWp5fN6ZrX9I8hU2xEPedYmYk=
|
||||||
gitea.maximumdirect.net/eric/ReleaseKit v0.2.0 h1:EACELngRel4RiulR+Ors56nMZ5fA9orJDyhPxn6UVe4=
|
gitea.maximumdirect.net/eric/ReleaseKit v0.3.0 h1:aTMn+50MEpHpHI2RoCCmJYsy7Ohrpa+RSva63Kq0/tU=
|
||||||
gitea.maximumdirect.net/eric/ReleaseKit v0.2.0/go.mod h1:xN8w1OWjhCwtDxyHVFbKxFWowuEPbMTCZrf0JIIm9pE=
|
gitea.maximumdirect.net/eric/ReleaseKit v0.3.0/go.mod h1:LVodqNQ3OIKv9NBq+fFeyMByd1lHY25YOmmpah/NaNI=
|
||||||
gitea.maximumdirect.net/eric/promptkit v0.12.0 h1:oIFWEg6GPxtmX3Plqv0euP+FnK1LCk/t4xDy6oKCpP4=
|
gitea.maximumdirect.net/eric/promptkit v0.12.0 h1:oIFWEg6GPxtmX3Plqv0euP+FnK1LCk/t4xDy6oKCpP4=
|
||||||
gitea.maximumdirect.net/eric/promptkit v0.12.0/go.mod h1:pFOOy5v1zH17stEi9rmHYmfbuLjnfVMcUhfmk+4VtJY=
|
gitea.maximumdirect.net/eric/promptkit v0.12.0/go.mod h1:pFOOy5v1zH17stEi9rmHYmfbuLjnfVMcUhfmk+4VtJY=
|
||||||
gitea.maximumdirect.net/eric/promptkit-backend-openrouter/v3 v3.20260930.0 h1:lzfCDbzJQRGzIlRPRprnAV9hVVL5zUQy80VMQ0kbYa0=
|
gitea.maximumdirect.net/eric/promptkit-backend-openrouter/v3 v3.20260930.0 h1:lzfCDbzJQRGzIlRPRprnAV9hVVL5zUQy80VMQ0kbYa0=
|
||||||
|
|||||||
Reference in New Issue
Block a user