Use the declared YAML dependency in comparison tests

This commit is contained in:
2026-10-12 15:08:44 +00:00
parent b9d5ea4b1b
commit 61f0d8806d
3 changed files with 32 additions and 11 deletions

View File

@@ -726,12 +726,20 @@ remain.
the local workspace. The root module includes its core example, backend, and the local workspace. The root module includes its core example, backend, and
release-tool packages; each integration suite includes its maintained release-tool packages; each integration suite includes its maintained
consumer example. consumer example.
- Workspace-off suites passed for all three modules with `GOWORK=off - Workspace-off results for core and ckconfig used `GOWORK=off
GOTOOLCHAIN=local` and `-mod=readonly`. Integration checks used disposable GOTOOLCHAIN=local` and `-mod=readonly`; isolated module and package/import
`go.mod`/`go.sum` pairs outside the repository, temporary local replacements enumeration also passed. The original ckprompt result did not establish
only for unpublished core/ckconfig prerequisites, and no distributed manifest compatibility with its committed manifest: review finding
changes. Their isolated `go list -m all` and `go list -deps -test ./...` [R-5](remediation.md#r-5-validate-the-committed-ckprompt-manifest-without-an-extra-test-only-yaml-api)
checks passed. found a test-only YAML v3 import requiring additional manifest tidying.
- After the R-5 import repair, fresh copied ckprompt manifests passed
`go test -count=1 ./...`, `go list -m all`, and `go list -deps -test ./...`
with `GOWORK=off GOTOOLCHAIN=local` and `-mod=readonly` on Go 1.26.8. These
copies added only temporary replacements for unpublished core/ckconfig
prerequisites, were not tidied, and retained their exact manifest/sum bytes
throughout validation. Distributed metadata needed no changes. The results
prove compatibility with local prerequisite sources, not future tag
availability.
- The isolated ckprompt graph selects PromptKit v0.14.0 and ConfigKit v0.7.1; - The isolated ckprompt graph selects PromptKit v0.14.0 and ConfigKit v0.7.1;
ckconfig selects ConfigKit v0.7.1 without ckprompt or PromptKit. Core imports ckconfig selects ConfigKit v0.7.1 without ckprompt or PromptKit. Core imports
neither optional integration nor ConfigKit/PromptKit through production, neither optional integration nor ConfigKit/PromptKit through production,

View File

@@ -1,6 +1,6 @@
# CommandKit implementation review remediation # CommandKit implementation review remediation
Status: R-1 through R-4 are complete; R-5 and R-6 are open. This document Status: R-1 through R-5 are complete; R-6 is open. This document
tracks required follow-up work and its completion evidence. tracks required follow-up work and its completion evidence.
## ConfigKit review baseline and scope ## ConfigKit review baseline and scope
@@ -224,11 +224,12 @@ acknowledged validation limitation, not a reason to add test-only public hooks.
## R-5: Validate the committed ckprompt manifest without an extra test-only YAML API ## R-5: Validate the committed ckprompt manifest without an extra test-only YAML API
**Status:** Open. **Priority:** Medium. **Category:** Distribution validation gap / **Status:** Complete. **Priority:** Medium. **Category:** Distribution validation gap /
dependency consistency. dependency consistency.
**Evidence:** [comparison_composition_test.go](../../integrations/ckprompt/comparison_composition_test.go) **Evidence:** At the review baseline,
imports `gopkg.in/yaml.v3` at line 17. This import was introduced by `f7b1d2c`; [comparison_composition_test.go](../../integrations/ckprompt/comparison_composition_test.go)
imported `gopkg.in/yaml.v3` at line 17. This import was introduced by `f7b1d2c`;
the [ckprompt manifest](../../integrations/ckprompt/go.mod) declares the existing the [ckprompt manifest](../../integrations/ckprompt/go.mod) declares the existing
`go.yaml.in/yaml/v4` dependency instead. The other ckprompt reports and tests use `go.yaml.in/yaml/v4` dependency instead. The other ckprompt reports and tests use
that existing API. The new comparison test needs only ordinary YAML decoding, that existing API. The new comparison test needs only ordinary YAML decoding,
@@ -279,6 +280,18 @@ replacements pass `go list -deps -test ./...` and the ckprompt suite in
workspace-off read-only mode. The test uses the existing YAML API, and any workspace-off read-only mode. The test uses the existing YAML API, and any
necessary metadata changes are tracked with accurate validation evidence. necessary metadata changes are tracked with accurate validation evidence.
**Completed 2026-10-12:** The comparison consumer test now uses the already
declared `go.yaml.in/yaml/v4` API. Fresh copies of the distributed ckprompt
`go.mod` and `go.sum`, augmented only with replacements for unpublished core and
ckconfig prerequisites, passed `go list -m all`, `go list -deps -test ./...`, and
`go test -count=1 ./...` with `GOWORK=off GOTOOLCHAIN=local` and `-mod=readonly`
on Go 1.26.8. The suite includes the composed consumer. Validation performed no
tidy; both disposable files remained byte-for-byte unchanged after the checks.
Distributed manifests, sums, and legitimate transitive YAML v3 notices needed
no changes. Stage 12 now records this corrected committed-metadata evidence;
local replacements establish source compatibility, not unpublished tag
availability. Formatting and documentation checks passed.
## R-6: Test comparison capability membership rather than its slice position ## R-6: Test comparison capability membership rather than its slice position
**Status:** Open. **Priority:** Low. **Category:** Inadvertently strengthened **Status:** Open. **Priority:** Low. **Category:** Inadvertently strengthened

View File

@@ -14,7 +14,7 @@ import (
"gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt" "gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt"
configkit "gitea.maximumdirect.net/eric/ConfigKit" configkit "gitea.maximumdirect.net/eric/ConfigKit"
promptkit "gitea.maximumdirect.net/eric/promptkit" promptkit "gitea.maximumdirect.net/eric/promptkit"
"gopkg.in/yaml.v3" "go.yaml.in/yaml/v4"
) )
func TestPublicConfigDiffUsesPromptKitPairAndPreparedInputs(t *testing.T) { func TestPublicConfigDiffUsesPromptKitPairAndPreparedInputs(t *testing.T) {