Microagents framework - a FastAPI-based API server with embedded worker for managing agents, tools, workspaces, and LLM interactions
Primer exposes 5 tools with inconsistent quality. Tool names lack clear action verbs (seed_now, reset_agents are vague; session_pending is passive). Descriptions vary widely: seed_now and reset_agents have detailed, context-rich descriptions (100+ chars), but session_pending is terse (34 chars). Input schemas are present but sparse: seed_now and reset_agents have empty objects ({}), while list_external_tool_calls has 5 parameters with type info but no parameter descriptions visible. No output schemas documented. Error handling and recovery guidance absent. Composition is weak: reset_agents modifies two rows with side effects but no idempotency guarantee stated; seed_now's 'S5 ensure pass' is domain-specific jargon not explained. No security annotations (permissions, scope declarations). Overall, definitions are functional but fall short of production-grade LLM-optimized tooling.
Global external tool call list (audit + orchestrator poll)
Restore the default operator and builder definitions. Re-apply the DEFAULT prompt, grants and description of both agents. Explicitly overwrites exactly those two rows and nothing else. The model profile each row runs under is PRESERVED: repointing the operator at a better model is a configuration choice, not a drift.
Idempotently ensure the seeded world, then report setup state. Run the S5 ensure pass now.
Pending external tool calls for one session
Probe live setup predicates (LLM provider responds, default workspace reachable) and report setup state with detailed predicate status.
Empty input schemas for seed_now and reset_agents ({}). These tools accept no parameters but lack documented output schemas.
Tool names lack clear action verbs. 'seed_now' and 'session_pending' do not start with standard verbs (get_, create_, update_, delete_, list_, search_). LLMs cannot infer intent from names alone.
No output schemas documented for any tool. LLMs cannot plan downstream calls or extract required fields (e.g., session_id, status) without knowing response structure.
Parameter descriptions missing for list_external_tool_calls. 'status', 'session_id', 'chat_id', 'offset', 'limit' have type info but no descriptions explaining valid values, constraints, or when to use each filter.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | 2026-07-28+ | v2 |
No error handling or recovery guidance. Tools do not document what happens on failure (e.g., if LLM provider is unreachable in setup_predicates, or if session_id is invalid in session_pending).