-
Notifications
You must be signed in to change notification settings - Fork 250
Closed
Labels
Description
Context
From schema consistency discussion #17876 (2026-02-23 run, findings 8–10).
Objective
Make the typed runtime structs in pkg/workflow/frontmatter_types.go complete so they match what the schema documents and what the raw map parsing already handles.
Issues to Fix
1. RuntimeConfig missing action-repo and action-version fields
- Files:
pkg/workflow/frontmatter_types.go:16-19,pkg/workflow/runtime_overrides.go:41-42 - Both fields are in the schema, documented in
docs/src/content/docs/reference/frontmatter.md:148-150, and read from the raw map inruntime_overrides.go:41-42. - They are absent from the typed struct
RuntimeConfig, so any code path usingRuntimesTypedsilently drops them. - Add
ActionRepo string \json:"action-repo,omitempty"`andActionVersion string `json:"action-version,omitempty"`toRuntimeConfig`.
2. RuntimesConfig and parseRuntimesConfig missing 5 runtimes
- Files:
pkg/workflow/frontmatter_types.go:16-29, 301-315,pkg/workflow/runtime_definitions.go knownRuntimesdefines 11 runtimes butRuntimesConfigonly models 6 (node,python,go,uv,bun,deno).- Missing:
dotnet,elixir,haskell,java,ruby— all documented infrontmatter.md:156-165. - Add fields for all 5 missing runtimes to
RuntimesConfigand add correspondingcaseentries inparseRuntimesConfig.
3. rust Serena runtime silently generates no setup step
- Files:
pkg/workflow/runtime_detection.go,pkg/workflow/runtime_definitions.go,pkg/parser/schemas/main_workflow_schema.json:3318 rustis mapped as a Serena language butfindRuntimeByID("rust")returnsnil(not inknownRuntimes), silently skipping the setup step.- The schema lists
"rust"as a valid Serena language, misleading users. - Either add
rusttoknownRuntimeswith appropriate setup, or update the schema to note thatrustdoes not generate a runtime setup step.
Files to Modify
pkg/workflow/frontmatter_types.gopkg/workflow/runtime_definitions.go(if addingrust)pkg/parser/schemas/main_workflow_schema.json(if updating Serena language note)
Acceptance Criteria
-
RuntimeConfigincludesaction-repoandaction-versionfields -
RuntimesConfigincludesdotnet,elixir,haskell,java,rubyfields -
parseRuntimesConfighascaseentries for all 5 missing runtimes -
rustSerena language either generates a setup step or schema clarifies it does not - Run
make agent-finishwith no errors before committing
Generated by Plan Command for issue #discussion #17876
- expires on Feb 25, 2026, 12:04 PM UTC
Reactions are currently unavailable