Add architecture package and application skeleton

This commit is contained in:
2026-07-03 21:09:47 +03:00
parent 7d6cc1c83e
commit ce2b263e52
47 changed files with 2377 additions and 53 deletions
+32
View File
@@ -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 запрещает.