From 608285321faeefcd7e6b5f90e82fb28a6697bdcf Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 31 Dec 2025 01:17:10 +0000 Subject: [PATCH 1/2] Initial plan From 361d00990b5590ee1efae4126bf18e2d583fc204 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Wed, 31 Dec 2025 01:24:54 +0000 Subject: [PATCH 2/2] Fix engine.version to accept numeric types (int, float) Co-authored-by: mnkiefer <8320933+mnkiefer@users.noreply.github.com> --- pkg/workflow/engine.go | 9 +++++++-- pkg/workflow/engine_config_test.go | 22 ++++++++++++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/pkg/workflow/engine.go b/pkg/workflow/engine.go index d5f85b901c..10f86d9b2f 100644 --- a/pkg/workflow/engine.go +++ b/pkg/workflow/engine.go @@ -64,8 +64,13 @@ func (c *Compiler) ExtractEngineConfig(frontmatter map[string]any) (string, *Eng // Extract optional 'version' field if version, hasVersion := engineObj["version"]; hasVersion { - if versionStr, ok := version.(string); ok { - config.Version = versionStr + switch v := version.(type) { + case string: + config.Version = v + case int, int64, uint64: + config.Version = fmt.Sprintf("%d", v) + case float64: + config.Version = fmt.Sprintf("%g", v) } } diff --git a/pkg/workflow/engine_config_test.go b/pkg/workflow/engine_config_test.go index 12834229e8..122a9d5395 100644 --- a/pkg/workflow/engine_config_test.go +++ b/pkg/workflow/engine_config_test.go @@ -64,6 +64,28 @@ func TestExtractEngineConfig(t *testing.T) { expectedEngineSetting: "claude", expectedConfig: &EngineConfig{ID: "claude", Version: "beta"}, }, + { + name: "object format - with integer version", + frontmatter: map[string]any{ + "engine": map[string]any{ + "id": "copilot", + "version": 20, + }, + }, + expectedEngineSetting: "copilot", + expectedConfig: &EngineConfig{ID: "copilot", Version: "20"}, + }, + { + name: "object format - with float version", + frontmatter: map[string]any{ + "engine": map[string]any{ + "id": "claude", + "version": 3.11, + }, + }, + expectedEngineSetting: "claude", + expectedConfig: &EngineConfig{ID: "claude", Version: "3.11"}, + }, { name: "object format - with model", frontmatter: map[string]any{