spec 026: requirement-driven model selection consolidation
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
Direzione di ricerca
Inizia da specs/026-model-selection-consolidation/spec.md, poi leggi plan.md e lo stato di Slice 7 e Slice 8. Traccia i profili nominati, i consumer di compatibilità, la migrazione di AgentRegistryEntry, l’enforcement statico e le eliminazioni rispetto ai criteri di accettazione elencati. Il lavoro è completato quando tutti i punti di selezione del modello usano il meccanismo, le salvaguardie rimangono intatte e il comportamento di migrazione e i criteri delle chiamate reali hanno esito positivo.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
What
Consolidate every model-selection site in the platform into ONE requirement-driven mechanism with a strict boundary between choosing a model chain and executing it:
snap = runtime_snapshot(...) # acquisition — networked, fallible
decision = select(requirement, snap) # selection — pure, deterministic
response = execute(decision.chain, messages, options=..., backend_factory=...)
Call sites express intent (a named requirement profile), never a model string. Spec:
specs/026-model-selection-consolidation/spec.md ·
plan: plan.md · branch 026-model-selection-consolidation.
Relationship to #1242 (traceability)
This issue exists because spec 026 does NOT implement #1242's acceptance criteria. #1242
("self-improvement through lessons learned") asks for two cron-driven self-improvement lanes.
Spec 026 is the model-selection prerequisite for spec 025's lane, split off as its own spec + PR
by maintainer decision 2026-07-16 (recorded at spec.md:6) so it can land first. Work on this branch
should be judged against the criteria below, not against #1242's.
Acceptance (from spec.md)
- FR-001/FR-008:
select()is a pure function of(requirement, snapshot, policy_version)
returning a byte-identical ordered chain;execute()never re-ranks. - FR-006: eligibility = versioned capability policy ∩ live snapshot; the catalog proves
presence/price, never competence; unknown cost is never free. - FR-010/FR-011/FR-016: existing router safeguards preserved; paid permission checked twice;
paid calls reserve against the strict-CAS ledger onrefs/llmxive/credit-ledger. - FR-012/FR-013: all call sites express one of the 6 named profiles; registry agents, the router,
the execution tier-ladder, the catalog filter and every direct pin resolve through the mechanism. - FR-014: a static enforcement test rejects production model-id literals outside the canonical
layer;DEFAULT_MODEL+MODEL_FALLBACKSare deleted. - SC-007: behavior preserved against a fixed migration snapshot (historical migration snapshot; see the October 8 update below).
- SC-008: real snapshot assembly + real calls across the free tiers, the vision tier, and the
local fallback.
Status
Slices 1–6 complete (contracts, snapshot+LKG, router primitive, ledger, pure select, execute,
independence, routing chokepoint, execution-tier migration). Slice 7 (compatibility consumers +
AgentRegistryEntry schema migration + US5 AC1/AC4) in design. Slice 8 (static enforcement +
deletions) last.
October 8 reconciliation
Retained as a distinct architecture issue: PR #1472's GLM-5.3 default upgrade does not establish completion of the pure requirement-driven selector, all-call-site migration, static literal enforcement, or ledger acceptance above. The old requirement to retain Qwen3.5 is superseded by the maintainer's explicit GLM-5.3/free-model request; do not restore the old default merely to satisfy the historical migration snapshot. Rebase the acceptance snapshot on the validated current free catalog while preserving capability, independence, budget and paid-permission safeguards. Recurring provider incidents are consolidated in #1475.
- Lingua principale
- Python
- Stelle
- 4
- Fork
- 2
- Merge medio
- 36m
- PR unite (30g)
- 109
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di ContextLab/llmXive
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 40/100
ContextLab/llmXive#1589 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 20/100
ContextLab/llmXive#1475 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 5/5 Più di una settimana Idoneità per principianti 24/100
ContextLab/llmXive#1474 · 6 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement help wanted
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
ContextLab/llmXive#1242 · 9 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
ContextLab/llmXive#1241 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di ContextLab/llmXive
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement good first issue
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
elviskahoro/sdk-python-attio#144 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
RenyiELBO raises TypeError when model has no sample sitesForse già presa @alibb007 l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno