Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Goals and Requirements

High-Level Goals

Functional Goals

  • Execute LLM-generated code in isolated environments
  • Support multiple LLM providers (OpenAI, Anthropic, local models, etc.)
  • Provide a plugin system for custom tools and integrations
  • Enable both interactive and automated/batch execution modes
  • Support persistent state and conversation history

Security Goals

  • Sandboxed execution preventing host system access
  • Network isolation for untrusted code
  • Resource limits (CPU, memory, time)
  • Comprehensive audit logging
  • Fine-grained permission system
  • Input/output sanitization

Non-Functional Goals

  • Low latency for interactive use
  • High throughput for batch processing
  • Horizontal scalability
  • Clear observability (metrics, tracing)
  • Easy deployment (containerized, cloud-native)

Functional Requirements

IDRequirementPriority
FR-01Execute user prompts through configurable LLM backendsMust
FR-02Parse and execute LLM-generated code/tool callsMust
FR-03Support tool definitions (function calling schema)Must
FR-04Maintain conversation state across sessionsShould
FR-05Plugin architecture for custom toolsShould
FR-06REST API for programmatic accessShould
FR-07WebSocket support for streaming responsesCould
FR-08Multi-tenant supportCould

Security Requirements

IDRequirementPriority
SR-01All code execution in isolated sandboxes (containers/WASM)Must
SR-02Network egress control and filteringMust
SR-03Resource quotas (CPU, memory, file system)Must
SR-04Audit logging of all operationsMust
SR-05Secrets management with no exposure to executed codeMust
SR-06Input validation and sanitizationMust
SR-07Rate limiting and abuse preventionShould
SR-08Cryptographic verification of tool outputsCould

Constraints

  • Written in Rust (performance and safety)
  • Open source under permissive license
  • Compatible with modern container runtimes
  • No external dependencies that compromise security auditing