createCodebase() in db/codebases.ts uses data.ai_assistant_type ?? 'claude' as its fallback. This silently assigns all new projects to the claude provider even when defaultAssistant in ~/.archon/config.yaml is set to a different provider (e.g. pi, codex).
Problem: Users who have configured a non-claude default assistant still get claude for every new project registration unless they explicitly pass ai_assistant_type — which the POST /api/codebases body schema doesn't even accept.
Proposed:
When ai_assistant_type is not provided at registration, read defaultAssistant from config rather than hardcoding 'claude'
Optionally support an "inherit" sentinel value in the column so existing rows can opt into dynamic resolution without a re-registration
Related: #1449 (workflow YAML nodes hardcoding provider: claude — same root cause, different layer)
createCodebase() in db/codebases.ts uses data.ai_assistant_type ?? 'claude' as its fallback. This silently assigns all new projects to the claude provider even when defaultAssistant in ~/.archon/config.yaml is set to a different provider (e.g. pi, codex).
Problem: Users who have configured a non-claude default assistant still get claude for every new project registration unless they explicitly pass ai_assistant_type — which the POST /api/codebases body schema doesn't even accept.
Proposed:
When ai_assistant_type is not provided at registration, read defaultAssistant from config rather than hardcoding 'claude'
Optionally support an "inherit" sentinel value in the column so existing rows can opt into dynamic resolution without a re-registration
Related: #1449 (workflow YAML nodes hardcoding provider: claude — same root cause, different layer)