Skip to content

[plan] Expand RuntimeConfig and RuntimesConfig typed structs to cover all supported runtimes and fields #17905

@github-actions

Description

@github-actions

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 in runtime_overrides.go:41-42.
  • They are absent from the typed struct RuntimeConfig, so any code path using RuntimesTyped silently 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
  • knownRuntimes defines 11 runtimes but RuntimesConfig only models 6 (node, python, go, uv, bun, deno).
  • Missing: dotnet, elixir, haskell, java, ruby — all documented in frontmatter.md:156-165.
  • Add fields for all 5 missing runtimes to RuntimesConfig and add corresponding case entries in parseRuntimesConfig.

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
  • rust is mapped as a Serena language but findRuntimeByID("rust") returns nil (not in knownRuntimes), silently skipping the setup step.
  • The schema lists "rust" as a valid Serena language, misleading users.
  • Either add rust to knownRuntimes with appropriate setup, or update the schema to note that rust does not generate a runtime setup step.

Files to Modify

  • pkg/workflow/frontmatter_types.go
  • pkg/workflow/runtime_definitions.go (if adding rust)
  • pkg/parser/schemas/main_workflow_schema.json (if updating Serena language note)

Acceptance Criteria

  • RuntimeConfig includes action-repo and action-version fields
  • RuntimesConfig includes dotnet, elixir, haskell, java, ruby fields
  • parseRuntimesConfig has case entries for all 5 missing runtimes
  • rust Serena language either generates a setup step or schema clarifies it does not
  • Run make agent-finish with no errors before committing

Generated by Plan Command for issue #discussion #17876

  • expires on Feb 25, 2026, 12:04 PM UTC

Metadata

Metadata

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions