Context
Existing configs may have default: true on agent entries. This field has no meaning post-gut but must be handled gracefully for backward compatibility.
Depends on #1575 (schema field removal).
What
- Ensure zod schema strips
default field silently on load (no parse error)
remoteclaw doctor warns when default: true found in raw config
materializeWorkspaceDefaults() in import command strips the field
- Config merge-patch ignores/strips the field
Acceptance Criteria
Files
src/config/zod-schema.agent-runtime.ts — currently ACCEPTS default: true at line 692 (does not strip it); this issue should add strip/ignore behavior so the field is silently dropped on parse
src/commands/import.ts (materializeWorkspaceDefaults)
src/config/validation.ts (deprecation warning)
src/agents/agent-scope.ts — the PRIMARY consumer of default: true (via resolveDefaultAgentId at line 70 which reads agent?.default)
src/config/legacy.shared.ts — resolveDefaultAgentIdFromRaw at line 94 reads entry.default === true
Context
Existing configs may have
default: trueon agent entries. This field has no meaning post-gut but must be handled gracefully for backward compatibility.Depends on #1575 (schema field removal).
What
defaultfield silently on load (no parse error)remoteclaw doctorwarns whendefault: truefound in raw configmaterializeWorkspaceDefaults()in import command strips the fieldAcceptance Criteria
default: trueloads without parse error (field silently stripped)remoteclaw doctorwarns about deprecateddefaultfield with removal guidancedefaultfield from materialized outputdefaultfield gracefullyFiles
src/config/zod-schema.agent-runtime.ts— currently ACCEPTSdefault: trueat line 692 (does not strip it); this issue should add strip/ignore behavior so the field is silently dropped on parsesrc/commands/import.ts(materializeWorkspaceDefaults)src/config/validation.ts(deprecation warning)src/agents/agent-scope.ts— the PRIMARY consumer ofdefault: true(viaresolveDefaultAgentIdat line 70 which readsagent?.default)src/config/legacy.shared.ts—resolveDefaultAgentIdFromRawat line 94 readsentry.default === true