Skip to content

Meta: Managed Agents follow-ups — safety, observability, tests, CLI parity #1425

@MervinPraison

Description

@MervinPraison

Meta tracking: Managed Agents follow-ups

Post-merge in-depth analysis of Managed Agents (core praisonaiagents.managed + wrapper praisonai.integrations.managed_agents|managed_local + praisonai.integrations.compute.* + praisonai managed … CLI) surfaces 5 high-severity and 4 medium-severity gaps. Evidence captured against current main (HEAD a6094f56 — Release v4.6.7).

This meta issue tracks the child issues. See full analysis summary below.

High-severity gaps

ID Gap Child issue
A4+A5+A17 LocalManagedAgent(compute=…) accepts a compute provider but _execute_sync never routes tool execution through it; _install_packages runs pip install in the host interpreter; LocalManagedConfig.sandbox_type is declared but never read. #TBD
A3+A12 Zero real agentic tests for managed backends. src/praisonai/tests/unit/integrations/test_managed_agents.py is 100% stale (references removed aiohttp / cli_command) — all 10 tests skip under default tier, hiding drift. #TBD
A16 Managed backends emit no trace events (ContextTraceEmitter). Incompatible with the langextract/langfuse bridges landed in #1420. #TBD
A11 Docs claim "cloud execution" across the board; LocalManagedAgent runs on the host by default — safety/operational expectation mismatch. included in safety issue

Medium-severity gaps

ID Gap Child issue
A1+A6 ManagedBackendProtocol lives in praisonaiagents/agent/protocols.py (not managed/protocols.py); retrieve_session() schemas differ between Anthropic and Local backends. #TBD
A7 CLI asymmetric: managed agents has no delete; managed envs has no update or delete; managed sessions has no delete. #TBD
A9 Two disagreeing tool-alias maps: managed_agents.TOOL_MAPPING and managed_local.TOOL_ALIAS_MAP (e.g. grepsearch_file vs execute_command). #TBD

Lower-severity / follow-ups

  • A13 — AnthropicManagedAgent.stream uses a threading.Thread + queue.Queue per call; consider AsyncAnthropic.
  • A15 — update_agent silently invalidates session (context loss).
  • A18 — _delegate_to_backend protocol check is cosmetic (duck-type fallback).

Evidence pointers

  • Core: praisonaiagents/managed/{events.py,protocols.py,__init__.py} (465 LOC); praisonaiagents/agent/protocols.py:306-445 (ManagedBackendProtocol); praisonaiagents/agent/execution_mixin.py:281-326 (_delegate_to_backend).
  • Wrapper: praisonai/integrations/managed_agents.py (712 LOC, AnthropicManagedAgent + ManagedAgent factory + TOOL_MAPPING); praisonai/integrations/managed_local.py (845 LOC, LocalManagedAgent + TOOL_ALIAS_MAP + _install_packages:463); praisonai/integrations/compute/{docker,e2b,flyio,modal,daytona,local}.py (1586 LOC); praisonai/cli/commands/managed.py (542 LOC).
  • Tests: praisonai-agents/tests/managed/ 200 pass / 8 skipped; praisonai-agents/tests/unit/test_managed_backend.py passes; praisonai/tests/unit/integrations/test_managed_agents.py 10/10 skipped + stale.
  • Docs: PraisonAIDocs/docs/concepts/managed-agents*.mdx (7 pages), PraisonAIDocs/examples/managed-agents/01..20_*.py.

Principles respected

All proposed fixes keep the Core SDK protocol-only, preserve lazy imports, and are additive/back-compat per AGENTS.md.

Metadata

Metadata

Assignees

No one assigned

    Labels

    claudeAuto-trigger Claude analysisdocumentationImprovements or additions to documentationenhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions