Add architecture package and application skeleton
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
# ADR 007: Model Router Fallback Semantics
|
||||
|
||||
## Status
|
||||
|
||||
Accepted
|
||||
|
||||
## Context
|
||||
|
||||
В проекте уже зафиксирована идея:
|
||||
|
||||
- сначала weak;
|
||||
- затем retry weak;
|
||||
- затем strong fallback;
|
||||
- external models не запрещаются кодом, а регулируются конфигом и policy.
|
||||
|
||||
## Decision
|
||||
|
||||
Fallback pipeline:
|
||||
|
||||
1. slot resolution выбирает provider и model для requested slot;
|
||||
2. weak model вызывается первой;
|
||||
3. если ответ невалиден по output contract, выполняется ограниченный retry weak;
|
||||
4. если weak исчерпан, router проверяет доступность strong;
|
||||
5. если strong разрешен config+policy, выполняется strong fallback;
|
||||
6. если strong недоступен, возвращается structured degraded result.
|
||||
|
||||
## Notes
|
||||
|
||||
- “невалиден” означает нарушение response schema, parser failure или явный quality rejection;
|
||||
- fallback trail сохраняется в invocation log;
|
||||
- внешняя strong model не вызывается, если `allow_external_models=false` или policy запрещает.
|
||||
|
||||
Reference in New Issue
Block a user