config: mark unwired ModelsConfig tier fields as scaffolding
Surfaced during today's local-only audit. The ModelsConfig struct parses 11 tier fields from lakehouse.toml (LocalFast/LocalEmbed/ LocalJudge/LocalReview/CloudJudge/CloudReview/CloudStrong/ FrontierReview/FrontierArch/FrontierStrong/FrontierFree) and exposes Resolve(tier) → model. As of 2026-05-03, NO code calls Resolve(). Operators setting these in lakehouse.toml see no runtime effect — silent config drift. Not removing the fields (would silently swallow operator's existing TOML and make it harder to wire later). Adding a clear UNWIRED warning comment instead. WeakModels IS live (consumed by internal/workflow/modes.go + internal/matrix/downgrade.go) — split out with its own comment so it's not lumped with the dead fields. If a future commit wires up Resolve() consumers, replace the UNWIRED comment with the consumer reference. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
parent
5d3996b51d
commit
22c0b42e96
@ -246,6 +246,13 @@ type LogConfig struct {
|
|||||||
// the corpus-downgrade rule: it's already weak, no need to downgrade
|
// the corpus-downgrade rule: it's already weak, no need to downgrade
|
||||||
// further. Strong (paid / cloud / frontier) models trigger the gate.
|
// further. Strong (paid / cloud / frontier) models trigger the gate.
|
||||||
type ModelsConfig struct {
|
type ModelsConfig struct {
|
||||||
|
// ⚠ UNWIRED scaffolding — these tier fields parse from TOML and
|
||||||
|
// Resolve() reads them, but as of 2026-05-03 NO OTHER CODE calls
|
||||||
|
// Resolve(). Setting these in lakehouse.toml has no runtime effect
|
||||||
|
// on routing. Customer hot path uses local Ollama via direct model
|
||||||
|
// name per PRD line 70 (everything runs locally). If you wire up
|
||||||
|
// Resolve() consumers, document them here so the next person knows
|
||||||
|
// the field is live, not dead scaffolding.
|
||||||
LocalFast string `toml:"local_fast"`
|
LocalFast string `toml:"local_fast"`
|
||||||
LocalEmbed string `toml:"local_embed"`
|
LocalEmbed string `toml:"local_embed"`
|
||||||
LocalJudge string `toml:"local_judge"`
|
LocalJudge string `toml:"local_judge"`
|
||||||
@ -260,6 +267,9 @@ type ModelsConfig struct {
|
|||||||
FrontierStrong string `toml:"frontier_strong"`
|
FrontierStrong string `toml:"frontier_strong"`
|
||||||
FrontierFree string `toml:"frontier_free"`
|
FrontierFree string `toml:"frontier_free"`
|
||||||
|
|
||||||
|
// WeakModels IS live — internal/workflow/modes.go reads it at
|
||||||
|
// startup, internal/matrix/downgrade.go uses the list for the
|
||||||
|
// strong-model auto-downgrade gate. Don't lump with unwired fields.
|
||||||
WeakModels []string `toml:"weak_models"`
|
WeakModels []string `toml:"weak_models"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user