Усилить надёжность: логирование, lifespan, LRU-кэш и fail-fast семантика

Подключить loguru и заменить молчаливые except на warning/exception

в step_planner, mcp_client и mcp_workflow_runner — раньше ошибки

терялись в пустых дикт-возвратах.\n

Перенести Phoenix tracing из module-level в FastAPI lifespan, чтобы

импорт agent_os не поднимал трейсер в тестах и тулах.\n

Заменить неограниченный dict _workflow_cache на OrderedDict-LRU

с лимитом WORKFLOW_CACHE_MAX_SIZE (default 64) — чтобы кэш не рос

бесконечно при разных scenario_id.\n

Зафиксировать инвариант fail-fast: шаги, не дошедшие до исполнения

из-за падения upstream, возвращаются со статусом skipped (для UI),

а не queued; run помечается success только если все payload.ok.\n

Добавить module docstrings во все модули src/ по STYLE_GUIDE cookbook.

Запинить версии зависимостей в requirements.txt.
This commit is contained in:
Barabashka
2026-04-24 11:56:37 +03:00
parent 4d037e52eb
commit 3357b3c4dd
12 changed files with 136 additions and 18 deletions
+8
View File
@@ -1,3 +1,11 @@
"""REST routes for scenario execution.
These endpoints live on the FastAPI ``base_app`` that AgentOS composes with
its own routes, so the prefix ``/api`` does not collide with AgentOS paths.
"""
from __future__ import annotations
from fastapi import APIRouter
from src.mcp_workflow_runner import run_scenario