356 Commits

Author SHA1 Message Date
Thomas Marchand
85a186fc63 Update .cursorrules with hierarchical architecture documentation 2025-12-14 21:50:03 +00:00
Thomas Marchand
773991ffba Implement hierarchical agent tree architecture
Core types with provability design:
- Task, Budget, Complexity with documented invariants
- VerificationCriteria with programmatic/LLM hybrid support
- SubtaskPlan with topological sort for execution order

Agent hierarchy:
- Agent trait with pre/post-conditions documented
- OrchestratorAgent for Root/Node agents
- LeafAgent for specialized workers

Leaf agents:
- ComplexityEstimator: estimates task difficulty (0-1 score)
- ModelSelector: U-curve optimization for cost/capability
- TaskExecutor: refactored from original agent loop
- Verifier: hybrid programmatic + LLM verification

Orchestrators:
- RootAgent: top-level, estimates complexity, splits tasks
- NodeAgent: intermediate, handles delegated subtasks

Budget system:
- Budget allocation strategies (proportional, equal, priority)
- OpenRouter pricing integration for cost estimation

API updated to use hierarchical RootAgent
2025-12-14 21:49:15 +00:00
Thomas Marchand
4ffa605c0c Remove test workspace directory 2025-12-14 21:19:17 +00:00
Thomas Marchand
bd97024910 Fix axum route syntax (:id instead of {id})
- Routes now work correctly in axum 0.7
- Tested end-to-end: agent successfully creates files via LLM tool calls
2025-12-14 21:19:04 +00:00
Thomas Marchand
6718437c0b Add .cursorrules and README documentation 2025-12-14 21:15:58 +00:00
Thomas Marchand
d5bde0a97e Initial implementation: core agent with HTTP API and full toolset
- Rust-based autonomous coding agent
- HTTP API for task submission (POST /api/task) and status (GET /api/task/{id})
- SSE streaming for real-time progress (GET /api/task/{id}/stream)
- OpenRouter integration with configurable models
- Tool system with: file_ops, directory, terminal, search, web, git
- Agent loop following 'tools in a loop' pattern
- System prompt with tool definitions and rules
2025-12-14 21:15:05 +00:00