diff --git a/docs/roadmap/implementation.md b/docs/roadmap/implementation.md index c1f2f64..4a96196 100644 --- a/docs/roadmap/implementation.md +++ b/docs/roadmap/implementation.md @@ -726,12 +726,20 @@ remain. the local workspace. The root module includes its core example, backend, and release-tool packages; each integration suite includes its maintained consumer example. -- Workspace-off suites passed for all three modules with `GOWORK=off - GOTOOLCHAIN=local` and `-mod=readonly`. Integration checks used disposable - `go.mod`/`go.sum` pairs outside the repository, temporary local replacements - only for unpublished core/ckconfig prerequisites, and no distributed manifest - changes. Their isolated `go list -m all` and `go list -deps -test ./...` - checks passed. +- Workspace-off results for core and ckconfig used `GOWORK=off + GOTOOLCHAIN=local` and `-mod=readonly`; isolated module and package/import + enumeration also passed. The original ckprompt result did not establish + compatibility with its committed manifest: review finding + [R-5](remediation.md#r-5-validate-the-committed-ckprompt-manifest-without-an-extra-test-only-yaml-api) + 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; ckconfig selects ConfigKit v0.7.1 without ckprompt or PromptKit. Core imports neither optional integration nor ConfigKit/PromptKit through production, diff --git a/docs/roadmap/remediation.md b/docs/roadmap/remediation.md index 80db1b2..81651c8 100644 --- a/docs/roadmap/remediation.md +++ b/docs/roadmap/remediation.md @@ -1,6 +1,6 @@ # 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. ## 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 -**Status:** Open. **Priority:** Medium. **Category:** Distribution validation gap / +**Status:** Complete. **Priority:** Medium. **Category:** Distribution validation gap / dependency consistency. -**Evidence:** [comparison_composition_test.go](../../integrations/ckprompt/comparison_composition_test.go) -imports `gopkg.in/yaml.v3` at line 17. This import was introduced by `f7b1d2c`; +**Evidence:** At the review baseline, +[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 `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, @@ -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 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 **Status:** Open. **Priority:** Low. **Category:** Inadvertently strengthened diff --git a/integrations/ckprompt/comparison_composition_test.go b/integrations/ckprompt/comparison_composition_test.go index 6a4b42e..fa4e9e9 100644 --- a/integrations/ckprompt/comparison_composition_test.go +++ b/integrations/ckprompt/comparison_composition_test.go @@ -14,7 +14,7 @@ import ( "gitea.maximumdirect.net/eric/CommandKit/integrations/ckprompt" configkit "gitea.maximumdirect.net/eric/ConfigKit" promptkit "gitea.maximumdirect.net/eric/promptkit" - "gopkg.in/yaml.v3" + "go.yaml.in/yaml/v4" ) func TestPublicConfigDiffUsesPromptKitPairAndPreparedInputs(t *testing.T) {