Upgrade ConfigKit, ReleaseKit, and PromptKit
This commit is contained in:
@@ -45,5 +45,6 @@ steps:
|
||||
-o "$${bootstrap_dir}/releasekit" "$${releasekit_module}/cmd/releasekit"
|
||||
"$${bootstrap_dir}/releasekit" ci-deliver \
|
||||
--repo "$${CI_WORKSPACE}" \
|
||||
--prepared \
|
||||
--commit "$${CI_COMMIT_SHA}" \
|
||||
"$${CI_COMMIT_TAG}"
|
||||
|
||||
@@ -29,8 +29,8 @@ native sibling inheritance before typed decoding. Any input mapping may use
|
||||
`extends: <sibling-name>`; the child keeps its key, inherits parent settings, and
|
||||
overrides them with its own settings. Selected overlay and CLI values therefore
|
||||
participate in inheritance at their normal precedence. The generic syntax and
|
||||
resolution rules are defined by ConfigKit v0.5.0's
|
||||
[sibling inheritance contract](https://gitea.maximumdirect.net/eric/ConfigKit/src/tag/v0.5.0/docs/config.md#sibling-inheritance).
|
||||
resolution rules are defined by ConfigKit v0.7.1's
|
||||
[sibling inheritance contract](https://gitea.maximumdirect.net/eric/ConfigKit/src/tag/v0.7.1/docs/config.md#sibling-inheritance).
|
||||
|
||||
`extends` is reserved structural input in base files, imports, overlays, and
|
||||
other application input mappings, including mapping values supplied by explicit
|
||||
@@ -107,7 +107,7 @@ Presence matters. Explicit `temperature: 0` is sent as zero; omission leaves it
|
||||
unspecified; null suppresses an inherited temperature. Other fields have their
|
||||
own native null and omission rules. Provider `extra_params` maps merge
|
||||
recursively, and a null provider value is sent as JSON null. See the pinned
|
||||
[PromptKit format reference](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/docs/formats.md)
|
||||
[PromptKit format reference](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.14.0/docs/formats.md)
|
||||
for the complete field semantics.
|
||||
|
||||
Operator documents can also override an embedded prompt/version, including its
|
||||
@@ -128,7 +128,7 @@ the native presence rules before deploying. Select a root whose final
|
||||
definitions have valid backend references; eager validation applies even to
|
||||
unselected definitions. See the complete maintained [local](../examples/minimal-config.yml)
|
||||
and [service](../examples/production-config.yml) examples and the pinned
|
||||
[consumer migration guide](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/docs/consumers/pkg-promptkit.md#migrate-from-the-previous-configuration-api).
|
||||
[consumer migration guide](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.14.0/docs/consumers/pkg-promptkit.md#migrate-from-the-previous-configuration-api).
|
||||
This incompatible profile-format migration is intended for an Audita major
|
||||
release; no automatic file conversion is provided.
|
||||
|
||||
|
||||
@@ -19,7 +19,7 @@ failures; explicit zero makes one attempt. `llm.repair_attempts` counts
|
||||
additional generations for schema-invalid model output. The operation timeout
|
||||
covers preparation, capacity waiting, retries, generation, and repair. Caller
|
||||
cancellation or an earlier deadline also applies. See [configuration](../config.md#settings)
|
||||
for defaults and [PromptKit v0.12.0's consumer contract](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.12.0/docs/consumers/pkg-promptkit.md)
|
||||
for defaults and [PromptKit v0.14.0's consumer contract](https://gitea.maximumdirect.net/eric/promptkit/src/tag/v0.14.0/docs/consumers/pkg-promptkit.md)
|
||||
for the pinned protocol and retry details.
|
||||
|
||||
A model operation that exhausts structural repair, a live-parent local operation
|
||||
|
||||
@@ -24,7 +24,7 @@ License and notices: [CC BY-SA 4.0](licenses/CC-BY-SA-4.0.txt) |
|
||||
|
||||
## ConfigKit
|
||||
|
||||
Selected module: `gitea.maximumdirect.net/eric/ConfigKit` at `v0.5.0`.
|
||||
Selected module: `gitea.maximumdirect.net/eric/ConfigKit` at `v0.7.1`.
|
||||
|
||||
Copyright (C) 2026 Eric Rakestraw
|
||||
|
||||
@@ -32,13 +32,13 @@ SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
License and notices: [LGPL v3](licenses/LGPL-3.0.txt) |
|
||||
[GPL v3](licenses/GPL-3.0.txt) |
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/ConfigKit/src/commit/dc09959cca4e105f49ec316c6d4ba585bd2340bd/COPYRIGHT).
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/ConfigKit/src/commit/6fffde4af8f31f99d3ee295c426eb3234cb0fb77/COPYRIGHT).
|
||||
|
||||
[Source](https://gitea.maximumdirect.net/eric/ConfigKit/src/commit/dc09959cca4e105f49ec316c6d4ba585bd2340bd).
|
||||
[Source](https://gitea.maximumdirect.net/eric/ConfigKit/src/commit/6fffde4af8f31f99d3ee295c426eb3234cb0fb77).
|
||||
|
||||
## ReleaseKit
|
||||
|
||||
Selected module: `gitea.maximumdirect.net/eric/ReleaseKit` at `v0.3.0`.
|
||||
Selected module: `gitea.maximumdirect.net/eric/ReleaseKit` at `v0.4.1`.
|
||||
|
||||
Copyright (C) 2026 Eric Rakestraw
|
||||
|
||||
@@ -46,9 +46,9 @@ SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
License and notices: [LGPL v3](licenses/LGPL-3.0.txt) |
|
||||
[GPL v3](licenses/GPL-3.0.txt) |
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e43df4416e0ed987349b2ea04a2c68c25e552772/COPYRIGHT).
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/2d5a8110c61e31daf8698766114ae305d0e0e469/COPYRIGHT).
|
||||
|
||||
[Source](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/e43df4416e0ed987349b2ea04a2c68c25e552772).
|
||||
[Source](https://gitea.maximumdirect.net/eric/ReleaseKit/src/commit/2d5a8110c61e31daf8698766114ae305d0e0e469).
|
||||
|
||||
## Go runtime and standard library
|
||||
|
||||
@@ -164,7 +164,7 @@ License and notices: [Apache 2.0](licenses/Apache-2.0.txt).
|
||||
|
||||
## PromptKit
|
||||
|
||||
Selected module: `gitea.maximumdirect.net/eric/promptkit` at `v0.12.0`.
|
||||
Selected module: `gitea.maximumdirect.net/eric/promptkit` at `v0.14.0`.
|
||||
|
||||
Copyright (C) 2026 Eric Rakestraw
|
||||
|
||||
@@ -172,9 +172,9 @@ SPDX-License-Identifier: LGPL-3.0-or-later
|
||||
|
||||
License and notices: [LGPL v3](licenses/LGPL-3.0.txt) |
|
||||
[GPL v3](licenses/GPL-3.0.txt) |
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/promptkit/src/commit/4b8169da286917fde7875425bb32b799b12c6af3/COPYRIGHT).
|
||||
[COPYRIGHT](https://gitea.maximumdirect.net/eric/promptkit/src/commit/143c6e9b3a675872117b0471e2ff8bcb25055a54/COPYRIGHT).
|
||||
|
||||
[Source](https://gitea.maximumdirect.net/eric/promptkit/src/commit/4b8169da286917fde7875425bb32b799b12c6af3).
|
||||
[Source](https://gitea.maximumdirect.net/eric/promptkit/src/commit/143c6e9b3a675872117b0471e2ff8bcb25055a54).
|
||||
|
||||
## Promptkit OpenRouter Catalog
|
||||
|
||||
|
||||
@@ -111,11 +111,15 @@ an alternate `-modfile`. The bootstrap executable and temporary files remain
|
||||
outside the tagged source. The workflow runs with the selected Go 1.26.8 image,
|
||||
`GOWORK=off`, and `GOTOOLCHAIN=local`.
|
||||
|
||||
Delivery uses prepared-checkout mode to verify the existing tag, HEAD, and clean
|
||||
worktree without repeating the bootstrap's fetch and checkout.
|
||||
|
||||
The resulting executable receives:
|
||||
|
||||
```sh
|
||||
"$${bootstrap_dir}/releasekit" ci-deliver \
|
||||
--repo "$${CI_WORKSPACE}" \
|
||||
--prepared \
|
||||
--commit "$${CI_COMMIT_SHA}" \
|
||||
"$${CI_COMMIT_TAG}"
|
||||
```
|
||||
@@ -127,8 +131,8 @@ after source publication; its status and logs report delivery progress or
|
||||
failure.
|
||||
|
||||
ReleaseKit handles content-aware retries and retained-artifact recovery. See
|
||||
the pinned [publication recovery guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.3.0/docs/consumers/publish.md)
|
||||
and [delivery guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.3.0/docs/consumers/delivery.md)
|
||||
the pinned [publication recovery guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.4.1/docs/consumers/publish.md)
|
||||
and [delivery guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.4.1/docs/consumers/delivery.md)
|
||||
for those mechanics. A delivery failure does not undo a confirmed source
|
||||
release. Retry the same immutable tag after resolving the reported state; do not
|
||||
replace published files or a checksum manifest.
|
||||
@@ -141,11 +145,11 @@ captured authoritative endpoint and publication state. Resolve the result
|
||||
against that endpoint before retrying. An exact remote tag-object match, with
|
||||
its source available on remote `main`, can confirm publication. If the remote
|
||||
state cannot be read, the result remains unknown; do not remove or replace the
|
||||
tag while uncertain. Follow the pinned [publication recovery guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.3.0/docs/consumers/publish.md)
|
||||
tag while uncertain. Follow the pinned [publication recovery guide](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.4.1/docs/consumers/publish.md)
|
||||
for object-level recovery details.
|
||||
|
||||
A source-release success and artifact-delivery status are separate. For a
|
||||
partial or uncertain delivery, inspect the job output and follow the pinned
|
||||
[delivery recovery guidance](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.3.0/docs/consumers/delivery.md).
|
||||
[delivery recovery guidance](https://gitea.maximumdirect.net/eric/ReleaseKit/src/tag/v0.4.1/docs/consumers/delivery.md).
|
||||
A source or published-content correction requires a new appropriate version;
|
||||
leave the original tag and its contents intact.
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
# Library Updates: ConfigKit, ReleaseKit, and PromptKit
|
||||
|
||||
**Reviewed:** 2026-10-11.
|
||||
**Status:** Reviewed and recommended; dependency upgrades and optional feature
|
||||
adoption are not implemented by this document.
|
||||
**Status:** Dependency upgrades complete. Optional inspection APIs remain unused
|
||||
until a concrete application need arises.
|
||||
|
||||
## Scope and Reviewed Baseline
|
||||
|
||||
@@ -12,7 +12,7 @@ the work needed to adopt them. Audita's baseline is commit
|
||||
The local library checkouts were clean and matched the released source commits;
|
||||
the remote annotated tags were checked against their peeled commits.
|
||||
|
||||
| Library | Current import | Recommended import | Full reviewed upstream commit |
|
||||
| Library | Reviewed baseline import | Adopted import | Full reviewed upstream commit |
|
||||
| --- | --- | --- | --- |
|
||||
| ConfigKit | v0.5.0 | v0.7.1 | `6fffde4af8f31f99d3ee295c426eb3234cb0fb77` |
|
||||
| ReleaseKit | v0.3.0 | v0.4.1 | `2d5a8110c61e31daf8698766114ae305d0e0e469` |
|
||||
@@ -233,13 +233,26 @@ performance gains, or operator-facing optional features. Actual implementation
|
||||
should validate its final changed candidate and selected CI behavior. Live
|
||||
delivery remains separate from release completion under the existing policy.
|
||||
|
||||
## Open Decisions
|
||||
## Selected Scope and Completion Record
|
||||
|
||||
No decision blocks the basic dependency upgrade. Whether to expose configuration
|
||||
comparison, definition listings, or requirement diagnostics remains optional.
|
||||
Recommend upgrading first and designing the chosen operator features separately:
|
||||
the current API additions are independently useful, and a dependency refresh
|
||||
need not define a new CLI. A viable alternative is one combined feature effort
|
||||
that upgrades dependencies and adds selected inspection commands; that can reduce
|
||||
repeat integration work, but requires decisions about selection syntax, report
|
||||
scope, disclosure, and command ownership before implementation.
|
||||
The user selected a simple version upgrade, deferring inspection API exposure
|
||||
until a concrete need arises. ConfigKit v0.7.1, ReleaseKit v0.4.1, and PromptKit
|
||||
v0.14.0 are adopted together. The dependency/checksum changes retain Go 1.26.0,
|
||||
the existing catalogs, and the current application APIs and configuration format.
|
||||
Attribution and canonical upstream references now identify the selected releases.
|
||||
CI delivery uses `--prepared`, with the runbook and existing workflow test updated.
|
||||
|
||||
Implementation validation on Go 1.26.8 Linux amd64 passed:
|
||||
|
||||
- The complete offline `go test -count=1 ./...` suite.
|
||||
- The actual module-selected ReleaseKit builder for Linux amd64 and arm64, using
|
||||
the disposable build identifier `v0.0.0`; its native injected-version check
|
||||
passed and produced `audita v0.0.0`.
|
||||
- Local, inheritance, service, and service-testing-overlay configuration examples,
|
||||
using a synthetic service credential.
|
||||
- Selected source revisions, unchanged upstream grants/license texts, and updated
|
||||
upstream file-link destinations.
|
||||
|
||||
Build artifacts remained outside the repository. No source tag, hosted delivery,
|
||||
or inference call was performed. Live CI delivery remains unobserved and separate
|
||||
from this completed upgrade and source-release completion.
|
||||
|
||||
6
go.mod
6
go.mod
@@ -3,9 +3,9 @@ module gitea.maximumdirect.net/eric/audita
|
||||
go 1.26.0
|
||||
|
||||
require (
|
||||
gitea.maximumdirect.net/eric/ConfigKit v0.5.0
|
||||
gitea.maximumdirect.net/eric/ReleaseKit v0.3.0
|
||||
gitea.maximumdirect.net/eric/promptkit v0.12.0
|
||||
gitea.maximumdirect.net/eric/ConfigKit v0.7.1
|
||||
gitea.maximumdirect.net/eric/ReleaseKit v0.4.1
|
||||
gitea.maximumdirect.net/eric/promptkit v0.14.0
|
||||
golang.org/x/mod v0.40.0
|
||||
gopkg.in/yaml.v3 v3.0.1
|
||||
)
|
||||
|
||||
12
go.sum
12
go.sum
@@ -1,9 +1,9 @@
|
||||
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/ReleaseKit v0.3.0 h1:aTMn+50MEpHpHI2RoCCmJYsy7Ohrpa+RSva63Kq0/tU=
|
||||
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/go.mod h1:pFOOy5v1zH17stEi9rmHYmfbuLjnfVMcUhfmk+4VtJY=
|
||||
gitea.maximumdirect.net/eric/ConfigKit v0.7.1 h1:q3HrX4WWCPt1WfMydqFEaAmCf9s6Dq+vknJj0C/mdcI=
|
||||
gitea.maximumdirect.net/eric/ConfigKit v0.7.1/go.mod h1:C82sbyKHYMV1OwaD2GJanFrwTfcZfjlW2JsGze5b0kA=
|
||||
gitea.maximumdirect.net/eric/ReleaseKit v0.4.1 h1:Qn+mdebYOzCVCEXgCbuGSO/WHmJtItwaQ8e3XwY3qtI=
|
||||
gitea.maximumdirect.net/eric/ReleaseKit v0.4.1/go.mod h1:LVodqNQ3OIKv9NBq+fFeyMByd1lHY25YOmmpah/NaNI=
|
||||
gitea.maximumdirect.net/eric/promptkit v0.14.0 h1:HUzlcrFk18dNGPBgnHqjAw87O0c9Wl/IC1xc/VmzL10=
|
||||
gitea.maximumdirect.net/eric/promptkit v0.14.0/go.mod h1:2YGvNca3bNXZP+e+pJeGzsNUcxwkHvzvuoc+LNNiT3E=
|
||||
gitea.maximumdirect.net/eric/promptkit-backend-openrouter/v3 v3.20260930.0 h1:lzfCDbzJQRGzIlRPRprnAV9hVVL5zUQy80VMQ0kbYa0=
|
||||
gitea.maximumdirect.net/eric/promptkit-backend-openrouter/v3 v3.20260930.0/go.mod h1:HjS0f+3q0IdHCTEz+VVAEgIwIWJFAZUjuKdAtvtqKdg=
|
||||
gitea.maximumdirect.net/eric/promptkit-backend-rakestrawhome/v3 v3.20260930.0 h1:h12ZTRldAmpLAomj0oQRGteFxHLN1LPE6XDl9zJNbm8=
|
||||
|
||||
@@ -118,7 +118,7 @@ func TestDeliveryWorkflowUsesModuleSelectedReleaseKit(t *testing.T) {
|
||||
"git fetch origin", "refs/tags/$${CI_COMMIT_TAG}",
|
||||
"git checkout --detach", "git status --porcelain",
|
||||
"go list", "-modfile=", "-m", "go build", "$${releasekit_module}/cmd/releasekit",
|
||||
"ci-deliver", "--repo \"$${CI_WORKSPACE}\"", "--commit \"$${CI_COMMIT_SHA}\"",
|
||||
"ci-deliver", "--repo \"$${CI_WORKSPACE}\"", "--prepared", "--commit \"$${CI_COMMIT_SHA}\"",
|
||||
"\"$${CI_COMMIT_TAG}\"",
|
||||
} {
|
||||
if !strings.Contains(command, fragment) {
|
||||
|
||||
Reference in New Issue
Block a user