Design principles
The Faheem Code SDK is part of the V1 effort — a complete architectural rework based on lessons from V0, the earlier generation of the coding agent.
V0 grew from a prototype into a coding agent running real production workloads. That growth exposed architectural tensions — tight coupling between research and production, mandatory sandboxing, mutable state, and configuration sprawl — which informed the design principles of agent-sdk in V1.
Optional isolation over mandatory sandboxing
V1 Principle:
Sandboxing should be opt-in, not universal.
V1 unifies agent and tool execution within a single process by default, aligning with MCP's local-execution model.
When isolation is needed, the same stack can be transparently containerized, maintaining flexibility without complexity.
Stateless by default, one source of truth for state
V1 Principle:
Keep everything stateless, with exactly one mutable state.
All components (agents, tools, LLMs, and configurations) are immutable Pydantic models validated at construction.
The only mutable entity is the conversation state, a single source of truth that enables deterministic replay and robust persistence across sessions or distributed systems.
Clear boundaries between agent and applications
V1 Principle:
Maintain strict separation of concerns.
V1 divides the system into stable, isolated layers: the SDK (agent core), tools (set of tools), workspace (sandbox), and agent server (server that runs inside sandbox).
Applications communicate with the agent via APIs rather than embedding it directly, ensuring research and production can evolve independently.
Composable components for extensibility
V1 Principle:
Everything should be composable and safe to extend.
Agents are defined as graphs of interchangeable components—tools, prompts, LLMs, and contexts—each described declaratively with strong typing.
Developers can reconfigure capabilities (e.g., swap toolsets, override prompts, add delegation logic) without modifying core code, preserving stability while fostering rapid innovation.