Skip to content

feat(#46): implement Agent 2 Decider logic and resilience#66

Merged
fernandodonea merged 2 commits into
masterfrom
task10
May 11, 2026
Merged

feat(#46): implement Agent 2 Decider logic and resilience#66
fernandodonea merged 2 commits into
masterfrom
task10

Conversation

@fernandodonea

Copy link
Copy Markdown
Collaborator

Resolves Issue #46

Ce s-a implementat:

  • Agent 2 (Decider) a fost construit de la zero în ai/agent_decider.py.
  • Validare JSON Strictă: S-a integrat PydanticOutputParser cu constrângere clară pe Literal["move", "quarantine"] pentru a asigura un comportament previzibil, conform cerințelor.
  • Resilience (LLM Retry Loop): Pentru a preveni eșecurile cauzate de halucinații minore de formatare, am implementat un fallback mecanism (_REPAIR_PROMPT). Acesta oferă modelului AI 2 șanse suplimentare pentru a corecta un JSON invalid înainte de a genera o excepție.
  • Sanitizare Date: A fost adăugat un @field_validator pentru suggested_name care protejează sistemul de operare curățând automat caracterele speciale invalide (ex: /, \, : sunt înlocuite cu _).
  • Testare:
    • S-a adăugat scriptul dedicat tests/test_agent_decider.py care acoperă testele unitare (sanitizare și prinderea erorilor de status invalid) prin Pytest (toate testele sunt 🟢 PASS).
    • Există și o secțiune de self-test (__main__) pentru debugging manual direct din container: docker-compose run --rm app python -m ai.agent_decider.

Agentul este acum 100% funcțional și așteaptă integrarea în fluxul Orchestratorului!

@fernandodonea fernandodonea merged commit 271a9da into master May 11, 2026
1 check passed
@fernandodonea fernandodonea changed the title Task10 eat(#46): implement Agent 2 Decider logic and resilience May 11, 2026
@fernandodonea fernandodonea changed the title eat(#46): implement Agent 2 Decider logic and resilience feat(#46): implement Agent 2 Decider logic and resilience May 11, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant