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. grep → search_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.
Meta tracking: Managed Agents follow-ups
Post-merge in-depth analysis of Managed Agents (core
praisonaiagents.managed+ wrapperpraisonai.integrations.managed_agents|managed_local+praisonai.integrations.compute.*+praisonai managed …CLI) surfaces 5 high-severity and 4 medium-severity gaps. Evidence captured against currentmain(HEADa6094f56— Release v4.6.7).This meta issue tracks the child issues. See full analysis summary below.
High-severity gaps
LocalManagedAgent(compute=…)accepts a compute provider but_execute_syncnever routes tool execution through it;_install_packagesrunspip installin the host interpreter;LocalManagedConfig.sandbox_typeis declared but never read.#TBDsrc/praisonai/tests/unit/integrations/test_managed_agents.pyis 100% stale (references removedaiohttp/cli_command) — all 10 tests skip under default tier, hiding drift.#TBDContextTraceEmitter). Incompatible with the langextract/langfuse bridges landed in #1420.#TBDLocalManagedAgentruns on the host by default — safety/operational expectation mismatch.Medium-severity gaps
ManagedBackendProtocollives inpraisonaiagents/agent/protocols.py(notmanaged/protocols.py);retrieve_session()schemas differ between Anthropic and Local backends.#TBDmanaged agentshas nodelete;managed envshas noupdateordelete;managed sessionshas nodelete.#TBDmanaged_agents.TOOL_MAPPINGandmanaged_local.TOOL_ALIAS_MAP(e.g.grep→search_filevsexecute_command).#TBDLower-severity / follow-ups
AnthropicManagedAgent.streamuses athreading.Thread+queue.Queueper call; considerAsyncAnthropic.update_agentsilently invalidates session (context loss)._delegate_to_backendprotocol check is cosmetic (duck-type fallback).Evidence pointers
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).praisonai/integrations/managed_agents.py(712 LOC,AnthropicManagedAgent+ManagedAgentfactory +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).praisonai-agents/tests/managed/200 pass / 8 skipped;praisonai-agents/tests/unit/test_managed_backend.pypasses;praisonai/tests/unit/integrations/test_managed_agents.py10/10 skipped + stale.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.