diff --git a/UPSTREAM.json b/UPSTREAM.json index db24c06..0b3612c 100644 --- a/UPSTREAM.json +++ b/UPSTREAM.json @@ -3,8 +3,8 @@ ".gitignore": "803c5f79d6da7f2c5a1dc0ce27c53b8e5c059309b165782831c4c472af058a4c", "LICENSE": "fff261ce507eabd57666c283a621f33e183a3aedebda04c4ecbc6309a62f5edf", "README.md": "ad3d31327720cfaa382211fa13bc3df20134299d54222190307769890915ad23", - "cmd/yskill/agents.go": "dd85ee2c0722505ec235efb26d5fbfed44f270a1b252bda2dc05b91f9bfe04ed", - "cmd/yskill/agents_test.go": "b4ca45106dbb4700ad379ff7f568703960a67ef4549293a7bdf2f57fb5b1b1de", + "cmd/yskill/agents.go": "3cf1309d3cebfe9a66b664d88992805326f813fa44b523e637afb86555ffd9ce", + "cmd/yskill/agents_test.go": "a167a0a6d59b17ff50a2e3aec010113961b085eb26d008ba4380127a1f801040", "cmd/yskill/main.go": "5eefea8fdd3e040a940bde80aac793fb97c61c18586bd993dab0395f57e5a81f", "cmd/yskill/main_test.go": "12a73231e0723fd4e1cee432a08eaa11950401c68a6d59887bac382fb2e5a19a", "cmd/yskill/registry/README.md": "fab385921ee7972f76deb94a3b7ae41184735598ea4145c9d8ccdde2c2b876c4", @@ -68,7 +68,7 @@ "evals/package.json": "84ac7bd7d1c0d1db2233dab54754296195b267e5e907d9f6c402d0d44d569adb", "evals/results/README.md": "65b74bfab83dfc51fc5b8a3a4824c37b722fb3a358a5dcfb217dc2af199f4801", "evals/results/latest-agent.json": "1484174819ae29bbcffeb615036fa165518669525e6d664123f6a38ca3614b69", - "evals/results/latest.json": "31574cb9c77823f9dc60152482623fea667f4797c55d58fde8f8ef495e9dbbac", + "evals/results/latest.json": "422c0fa860baa94ae336894c15c012beb04d78f46389dac9655a5a5bde4e670b", "evals/scripts/run.mjs": "17a62cd0f7fda73d84a9bfa21c9c3253ba52a4a23eece09523cfea244e3f9940", "evals/scripts/validate.mjs": "42d51ea75f9418e45dd1797d1fe02cbc046752d3e3c37d41bc8d3a47d5865d4d", "examples/convert-skill/SKILL.md": "e6376f34365d4ac030d316db55e91f0c606a501668099f4ecf1e27d43ec806a2", @@ -307,6 +307,7 @@ "release-notes/2026-08-01-remove-stray-analysis-traces.md": "0567f78ee97ffd23b3f26b5c39606e9ff6659c50a3fdef04ed9b3aa86cfa99af", "release-notes/2026-08-02-cross-agent-registration.md": "8f4296fae36468bda08370bad8d13b7fc1e893b682f8c73015311ab01ace853f", "release-notes/2026-08-02-dx-hardening.md": "801d85ad760545140415000a95cbd6a681c32462f0578c1ac1ce802893bee303", + "release-notes/2026-08-02-go-sdk-pin-detection.md": "d835d0a9efebba16ab782a7b5e8730a873545b395e644b6e7b21cf93bed7d1a4", "release-notes/2026-08-02-skill-workflows.md": "8cd0cded1922387ef8e81b3e084c12e440f729aa778672f9ec91ffa153df5297", "release-notes/2026-08-02-v0-1-23-dx.md": "538aaf62beeb15e132cfde35f47217edce7d1e4ef5c4036fd00ed96f8362b2b7", "sdk/python/README.md": "aeff405ce89928814e93704ad593f9ee976d400c227804343947f09ca8ad3062", @@ -329,7 +330,7 @@ "generator": "operatorstack/yield:project", "schema_version": 1, "source": { - "commit": "fdedaebd22e925a0d014105d837ad243c20f5987", + "commit": "2d0884460f31e85cda431e7f4e45c6184fcbda7d", "path": "labs/22-yield", "repository": "operatorstack/intelligence-flow" } diff --git a/cmd/yskill/agents.go b/cmd/yskill/agents.go index 8f3c0fb..b60ef29 100644 --- a/cmd/yskill/agents.go +++ b/cmd/yskill/agents.go @@ -660,7 +660,7 @@ func localRuntimeInstallCommand(language, expected string) string { var pinnedVersionPatterns = map[string]*regexp.Regexp{ "python": regexp.MustCompile(`(?m)^yieldskill==([^\s]+)$`), - "go": regexp.MustCompile(`(?m)^\s*github\.com/operatorstack/yield\s+v([^\s]+)`), + "go": regexp.MustCompile(`(?m)^\s*(?:require\s+)?github\.com/operatorstack/yield\s+v([^\s]+)`), "rust": regexp.MustCompile(`(?m)yieldskill\s*=\s*\{[^\n]*version\s*=\s*"=([^"]+)"`), } diff --git a/cmd/yskill/agents_test.go b/cmd/yskill/agents_test.go index 7907965..d71323d 100644 --- a/cmd/yskill/agents_test.go +++ b/cmd/yskill/agents_test.go @@ -405,6 +405,23 @@ func TestWorkflowSDKVersionMustMatchRuntime(t *testing.T) { } } +func TestGoWorkflowSDKVersionAcceptsGeneratedAndBlockForms(t *testing.T) { + repo := t.TempDir() + manifest := skillManifest{Version: 1, Language: "go", Run: []string{"go", "run", "."}} + for name, goMod := range map[string]string{ + "generated": "module review\n\ngo 1.26.5\n\nrequire github.com/operatorstack/yield v0.1.23\n", + "block": "module review\n\ngo 1.26.5\n\nrequire (\n\tgithub.com/operatorstack/yield v0.1.23\n)\n", + } { + t.Run(name, func(t *testing.T) { + skill := filepath.Join(repo, name) + writeTestFile(t, filepath.Join(skill, "go.mod"), goMod) + if err := verifyWorkflowSDKVersion(manifest, skill, repo, "0.1.23"); err != nil { + t.Fatal(err) + } + }) + } +} + func TestDoctorReportsSDKRuntimeAndAdapterVersionProblemsTogether(t *testing.T) { repo := t.TempDir() writeTestFile(t, filepath.Join(repo, ".git", "keep"), "") diff --git a/evals/results/latest.json b/evals/results/latest.json index 97483e1..4774d4a 100644 --- a/evals/results/latest.json +++ b/evals/results/latest.json @@ -1,8 +1,8 @@ { "schema_version": 2, "methodology_version": "1.1", - "generated_at": "2026-08-02T14:30:09.305Z", - "source_digest": "6a2ad2cc8d59a7226c966bdf71015a3d959a7f57ecf29d661d195c2f8ea79604", + "generated_at": "2026-08-02T14:55:09.652Z", + "source_digest": "0c8520275d4bd2d0e607c6dbcb0ebf7696106451f2a7fd2acb71ea2c1ed16286", "status": "passed", "workflow_conformance": { "passed": 40, diff --git a/release-notes/2026-08-02-go-sdk-pin-detection.md b/release-notes/2026-08-02-go-sdk-pin-detection.md new file mode 100644 index 0000000..c07bb35 --- /dev/null +++ b/release-notes/2026-08-02-go-sdk-pin-detection.md @@ -0,0 +1,6 @@ +# Accept generated Go SDK pins + +- Let `doctor` read the single-line `go.mod` requirement produced by + `yskill init`. +- Keep support for block-style Go requirements. +- Verify both forms against the repository-local Yield runtime version.