Commit Graph

3 Commits

Author SHA1 Message Date
anthonyrawlins
df5ec34b4f feat(execution): Add response parser for LLM artifact extraction
Implements regex-based response parser to extract file creation actions
and artifacts from LLM text responses. Agents can now produce actual
work products (files, PRs) instead of just returning instructions.

Changes:
- pkg/ai/response_parser.go: New parser with 4 extraction patterns
  * Markdown code blocks with filename comments
  * Inline backtick filenames followed by "content:" and code blocks
  * File header notation (--- filename: ---)
  * Shell heredoc syntax (cat > file << EOF)

- pkg/execution/engine.go: Skip sandbox when SandboxType empty/none
  * Prevents Docker container errors during testing
  * Preserves artifacts from AI response without sandbox execution

- pkg/ai/{ollama,resetdata}.go: Integrate response parser
  * Both providers now parse LLM output for extractable artifacts
  * Fallback to task_analysis action if no artifacts found

- internal/runtime/agent_support.go: Fix AI provider initialization
  * Set DefaultProvider in RoleModelMapping (prevents "provider not found")

- prompts/defaults.md: Add Rule O for output format guidance
  * Instructs LLMs to format responses for artifact extraction
  * Provides examples and patterns for file creation/modification
  * Explains pipeline: extraction → workspace → tests → PR → review

Test results:
- Before: 0 artifacts, 0 files generated
- After: 2 artifacts extracted successfully from LLM response
- hello.sh (60 bytes) with correct shell script content

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-11 22:08:08 +11:00
anthonyrawlins
7469b9c4c1 Add intelligent image selection for development environments
Integrate chorus-dev-images repository with automatic language detection
and appropriate development container selection.

New features:
- ImageSelector for automatic language-to-image mapping
- Language detection from task context, description, and repository
- Standardized workspace environment variables
- Support for 7 development environments (Rust, Go, Python, Node, Java, C++)

Changes:
- pkg/execution/images.go (new): Image selection and language detection logic
- pkg/execution/engine.go: Modified createSandboxConfig to use ImageSelector

This ensures agents automatically get the right tools for their tasks without
manual configuration.

Related: https://gitea.chorus.services/tony/chorus-dev-images

🤖 Generated with Claude Code (https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-30 11:11:03 +10:00
anthonyrawlins
d0973b2adf Phase 3: Implement Core Task Execution Engine (v0.4.0)
This commit implements Phase 3 of the CHORUS task execution engine development plan,
replacing the mock implementation with a real AI-powered task execution system.

## Major Components Added:

### TaskExecutionEngine (pkg/execution/engine.go)
- Complete AI-powered task execution orchestration
- Bridges AI providers (Phase 1) with execution sandboxes (Phase 2)
- Configurable execution strategies and resource management
- Comprehensive task result processing and artifact handling
- Real-time metrics and monitoring integration

### Task Coordinator Integration (coordinator/task_coordinator.go)
- Replaced mock time.Sleep(10s) implementation with real AI execution
- Added initializeExecutionEngine() method for setup
- Integrated AI-powered execution with fallback to mock when needed
- Enhanced task result processing with execution metadata
- Improved task type detection and context building

### Key Features:
- **AI-Powered Execution**: Tasks are now processed by AI providers with appropriate role-based routing
- **Sandbox Integration**: Commands generated by AI are executed in secure Docker containers
- **Artifact Management**: Files and outputs generated during execution are properly captured
- **Performance Monitoring**: Detailed metrics tracking AI response time, sandbox execution time, and resource usage
- **Fallback Resilience**: Graceful fallback to mock execution when AI/sandbox systems are unavailable
- **Comprehensive Error Handling**: Proper error handling and logging throughout the execution pipeline

### Technical Implementation:
- Task execution requests are converted to AI prompts with contextual information
- AI responses are parsed to extract executable commands and file artifacts
- Commands are executed in isolated Docker containers with resource limits
- Results are aggregated with execution metrics and returned to the coordinator
- Full integration maintains backward compatibility while adding real execution capability

This completes the core execution engine and enables CHORUS agents to perform real AI-powered task execution
instead of simulated work, representing a major milestone in the autonomous agent capability.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-09-25 15:30:08 +10:00