Loop is a desktop client and agent framework for running Claude agents in containers with seccomp-based sandboxing, file/network gating, and terminal integration.
Scoring was not performed
Output schemas are not documented. Tools are registered with input schemas but the code does not declare what fields responses contain. LLMs cannot plan downstream tool calls or extract structured data without knowing response shape.
Parameter descriptions are incomplete or refer to tool description for details. For example, 'schedule_task' has a 'schedule' parameter with minimal description; the actual format guidance is only in the tool-level description. Parameter descriptions must be self-contained per pattern:tool-description.
No error handling or recovery guidance. Tools do not describe failure modes (e.g. what happens if a task ID is invalid, if a channel does not exist, if memory indexing fails). Descriptions lack 'try X tool first' hints.
Optional parameters with unclear fallback behavior. 'search_memory' and 'index_memory' accept both 'dir_path' and 'channel_id' as optional. The description says 'uses channel lookup if not provided' but does not explain what happens if both are missing, what 'channel lookup' resolves to, or why the fallback exists.
No idempotence or retry guidance. Tools like 'schedule_task', 'edit_task', 'send_message', 'index_memory' modify state. Descriptions do not state whether repeated calls with identical parameters are safe (idempotent) or would create duplicates/side effects.
No pagination or result limits documented. 'list_tasks' and 'search_channels' likely return lists but do not declare pagination support, result limits, or how many items to expect. Without this, large result sets could exhaust context windows.
Tool composition concerns. 'send_message' description mentions 'Use search_channels to find the target channel ID first', this is a composition hint that belongs in error handling or recovery guidance, not the main description. If channel lookup fails, the tool should return an error with 'try search_channels' guidance.
Bare string parameters without validation constraints. Several parameters like 'name' (in create_channel, create_thread), 'content' (send_message), and 'query' (search_channels) have no length limits, regex patterns, or character restrictions documented. LLMs may pass invalid or excessively long inputs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 0 | 2026-07-28+ | v2 |
| 2026-03-09 | D | 58 | - | v1 |