AI Curator — Autonomous Model Curation
- Area: Intelligence
- Path:
services/ai/curator - Kind: Orchestrator daemon (multimodal discovery + tiered eval + benchmark-relevance ranking + governed promotion proposals)
- Status: v0.0.1 — active build (2026-06-01). Daemon + all 3 loops + the governed flip implemented & VM-verified: CURATOR-001 (daemonscheduler), 002 (Loop B discovery), 003 (Loop A ranking + proposals), 006 (Loop C meta-benchmark), 010 (license gate), 008 (catalog writer), 004 (approval bootstrap). Pending: 005 (koder-notify), 007 (tiered eval), 009 (landingobs). Slug
curatorpending naming ratification.
Role in the stack
curator is the answer to "how does the served model base stay current and benchmark-grounded without a human hand-editing runtime/models.yaml?". It runs three loops — (A) rank the served set by benchmark relevance, (B) discover new models across modalities, (C) keep the benchmark set itself relevant — and emits a PromotionProposal that internal Koder staff approve before any model is served. The funnel (discover → measure → rank → propose) is autonomous; the flip to serving is governed (stack-RFC-008 D1).
Boundary vs neighbors
services/ai/evalmeasures (tiered: triage → full self-hosted on s.khost1); curator never runs benchmarks itself.services/ai/modelregis the metadata system of record (GlobalTenant="koder"); curator writes via modelreg #003#004#005, owns no catalog storage.services/ai/runtime+gatewayserve; curator writesmodels.yaml/ aliases only on approval (CURATOR-008).services/foundation/desk(#063) is the production approval surface (internal-Koder control-plane, staff roles via Koder ID);infra/observe/notifyfans out notifications.services/ai/zoois the public model hub — distinct from curator; future zoo backend reads from modelreg, not curator.
Planes
Curation/approval is control-plane (internal Koder staff), scoped to the operator tenant — not a customer-tenant decision. Customer tenants only read the global catalog; tenant model-preference is a separate future data-plane axis.
Loops (backlog)
- Loop A (CURATOR-003) — relevance ranking +
PromotionProposal. - Loop B (CURATOR-002) — multimodal discovery (generalizes runtime's text-only
--discover). - Loop C (CURATOR-006) — benchmark-of-benchmarks; maintains
registries/ai-benchmarks.md. - Governance/IO: desk approval (004), koder-notify (005), tiered eval (007), catalog writer (008).
Refs
meta/docs/stack/rfcs/stack-RFC-008-autonomous-model-curation.kmdmeta/docs/stack/rfcs/curator-RFC-001-foundations.kmdmeta/docs/stack/registries/ai-benchmarks.md