Skip to content

Kiro honors model config but doesn't advertise it via GetConfigSpec #2903

Description

@illegalcall

Context (shared across all harnesses)

AO stores a per-role model in agentConfig.model (backend/internal/domain/agentconfig.go:27), resolved and forwarded to every adapter as cfg.Config.Model. Adapters that honor the model are also expected to advertise it via GetConfigSpec — Claude does (claudecode/claudecode.go:104-106, exposing model + permission mode) and Codex's fix (#2869) added the same.

This issue tracks Kiro for completeness of the harness-model-config audit (sibling issues: #2883#2901).

Situation — Kiro honors the model but does NOT advertise it

Good news first: Kiro already forwards the configured model. setKiroAgentDefaults writes model into Kiro's agent-config file when agentConfig.Model is non-blank (backend/internal/adapters/agent/kiro/hooks.go:268-272), and this is covered by tests (kiro/kiro_test.go:520 TestGetAgentHooksWritesConfiguredModel, plus a project-model preservation assertion at :167-208). So Kiro is not affected by the launch bug the sibling issues describe.

The gap: Kiro has no GetConfigSpec override (it inherits the empty agentbase.Base.GetConfigSpec, agentbase/agentbase.go:20-21). So while Kiro consumes agentConfig.model, it never declares that it supports the model field — inconsistent with Claude and Codex, and it means the field isn't discoverable/validated through the config-spec surface for Kiro.

Expected

Kiro should advertise the model config field it already honors, matching the Claude/Codex contract.

Suggested fix (small)

  • Override GetConfigSpec in the Kiro adapter to report a model field (ports.ConfigFieldString), mirroring claudecode/claudecode.go:104-106 and codex/codex.go.
  • Add/extend a GetConfigSpec test asserting the model field is reported (see the codex/claude spec tests for the pattern).

Notes

Low priority / consistency polish — Kiro's runtime behavior is already correct; this only aligns its declared config spec with the other model-aware adapters.

References

Metadata

Metadata

Labels

P3Narrow, cosmetic, or low-impact work.area/agent-harnessWorker and reviewer harness discovery, launch, hooks, auth, and resume.comp/daemonGo daemon, process lifecycle, and backend control plane.help wantedMaintainers explicitly welcome external help.type/bugExisting behavior is broken or incorrect.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions