Per-tree AI model policy (owner-only admin view) #238
Reference in New Issue
Block a user
Delete Branch "ai-model-policy"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Owner-configured, per-tree AI model policy.
The operator decides which providers exist (env / registry — Anthropic, OpenAI, x.AI, Ollama, any number at once). The tree owner decides who uses which:
Backend
trees.ai_member_provider/ai_recommender_provider(nullable String(32)) + migrationb2c3d4e5f6a7(verified: applies cleanly through the full chain).configured_llm_providers()surfaces the registry as{name, model}— no secrets.GET/PATCH /trees/{id}/ai; provider names validated against the configured set (unconfigured → 403).Frontend
Per-model-within-a-provider selection is a follow-up; today each provider maps to its single configured model.
🤖 Generated with Claude Code
The operator decides which model providers exist (env / registry — Anthropic, OpenAI, x.AI, Ollama, several at once). The *tree owner* decides who uses which: - Members' assistant -> one configured provider (or none) - Recommender (association/connection finder) -> one configured provider (or none) - Owner -> may use any configured provider Backend: two nullable columns on `trees` (ai_member_provider, ai_recommender_provider) + migration; `configured_llm_providers()` exposes the registry as {name, model} with no secrets; owner-gated GET/PATCH /trees/{id}/ai validate names against the configured set. Frontend: owner-only "AI models" page with a dropdown per role, graceful 403 for non-owners, and a sidebar link. Per-model-within-a-provider selection is a follow-up; today each provider maps to its single configured model. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> Signed-off-by: Justin Paul <justin@jpaul.me>