Council Review: Admin Model Profiles

Decision

Implement admin-defined chat model profiles as a small configuration-backed registry first, require one enabled default profile before chat can send, and keep deeper per-user/role assignment and maintenance-agent migration behind follow-up gates.

Evidence Reviewed

Findings

Seat Recommendation Confidence Blocking concern
Source-Grounded Archivist Keep current-state memories untouched until profile behavior exists; record this decision as a page because it is future-facing. 92% Updating memories before implementation would violate the current wiki governance rule.
Data Model Architect Add a ChatModelProfile shape under MemorySmith:Chat with stable ids, display names, provider, model id, optional context window, enabled flag, and default flag. 84% Role-based profile access needs a separate permission model; do not fake it with display-only fields.
Retrieval Specialist Avoid changing provider transport or context retrieval in this slice; profile selection should only resolve provider/model/context metadata. 87% Context-window fields must not accidentally alter retrieval budgets before measured behavior exists.
Human Learning Advocate Replace manual provider/model editing in chat with a profile picker using friendly names such as Athena - Ollama / gemma4:e4b. 86% If no default profile exists, the disabled state must tell users what admin setup is missing.
Skeptical Reviewer Implement the registry in the smallest reversible layer and reject sends without an enabled default; defer maintenance-agent profile assignment and per-role access until tests exist. 78% This still changes chat startup behavior and could surprise existing local setups unless legacy scalar settings seed an implicit default.

Synthesis

Change now:

Defer:

Dissent

The main dissent is whether to store model profiles in SQLite because role-based access is eventually needed. The near-term recommendation remains configuration-backed storage because the existing admin settings workflow already edits local operational configuration, model profiles are deployment settings rather than user-generated content, and no per-role model assignment contract exists yet. Promote to SQLite only when the role-assignment requirements are implemented.

Acceptance Criteria

Open Questions