4173c0c8c87082bae8b5b70c8bb0663556128af4
- Implement automatic label creation when registering repositories:
• bzzz-task (red) - Issues for CHORUS BZZZ task assignments
• whoosh-monitored (teal) - Repository monitoring indicator
• priority-high/medium/low labels for task prioritization
- Add repository edit modal with full configuration options
- Add manual "Labels" button to ensure labels for existing repos
- Enhance Gitea client with CreateLabel, GetLabels, EnsureRequiredLabels methods
- Add POST /api/v1/repositories/{id}/ensure-labels endpoint
- Fix label creation error handling with graceful degradation
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
WHOOSH - Autonomous AI Development Teams
WHOOSH is the orchestration platform for autonomous AI development teams in the CHORUS ecosystem. It transforms from a simple project template tool into a sophisticated system that enables AI agents to form optimal teams, collaborate democratically, and deliver high-quality solutions through consensus-driven development processes.
🎯 MVP Goals
The current MVP focuses on:
- Single-Agent Execution: Process
bzzz-tasklabeled issues with single-agent teams - GITEA Integration: Webhook handling for task discovery and PR management
- Basic Team Management: Minimal team state tracking and assignment
- SLURP Integration: Artifact submission and retrieval proxy
- Docker Swarm Deployment: Production-ready containerization
🏗️ Architecture
Core Components
- Go Backend: HTTP server with chi/echo framework, structured logging with zerolog
- PostgreSQL Database: Team, agent, and task state management with migrations
- GITEA Integration: Webhook processing and API client for issue management
- Docker Swarm: Production deployment with secrets management
- Redis: Optional caching and session management
MVP Workflow
- GITEA webhook receives issue with
bzzz-tasklabel - WHOOSH parses task information and creates team assignment
- Single-agent executor processes task (stubbed Team Composer)
- Results submitted via SLURP proxy for artifact preservation
- PR creation and status updates back to GITEA
🚀 Quick Start
Local Development
# Clone repository
git clone https://gitea.chorus.services/tony/WHOOSH.git
cd WHOOSH
# Copy environment configuration
cp .env.example .env
# Edit .env with your configuration
# Start with Docker Compose
docker-compose up -d
# Or run locally
go run ./cmd/whoosh
Production Deployment
# Setup Docker Swarm secrets
./scripts/setup-secrets.sh
# Deploy to swarm
./scripts/deploy-swarm.sh v0.1.0-mvp
📋 API Endpoints
Health & Status
GET /health- Service health checkGET /health/ready- Readiness check with database connection
Teams (MVP Minimal)
GET /api/v1/teams- List teamsPOST /api/v1/teams- Create team (stub)GET /api/v1/teams/{teamID}- Get team details (stub)PUT /api/v1/teams/{teamID}/status- Update team status (stub)
Task Management
POST /api/v1/tasks/ingest- Task ingestion (stub)GET /api/v1/tasks/{taskID}- Get task details (stub)
SLURP Integration
POST /api/v1/slurp/submit- Submit artifacts (stub)GET /api/v1/slurp/artifacts/{ucxlAddr}- Retrieve artifacts (stub)
CHORUS Integration
GET /api/v1/projects/{projectID}/tasks- List project tasksGET /api/v1/projects/{projectID}/tasks/available- List available tasksGET /api/v1/projects/{projectID}/repository- Get project repository infoGET /api/v1/projects/{projectID}/tasks/{taskNumber}- Get specific taskPOST /api/v1/projects/{projectID}/tasks/{taskNumber}/claim- Claim task for agentPUT /api/v1/projects/{projectID}/tasks/{taskNumber}/status- Update task statusPOST /api/v1/projects/{projectID}/tasks/{taskNumber}/complete- Complete taskPOST /api/v1/agents/register- Register CHORUS agentPUT /api/v1/agents/{agentID}/status- Update agent status
Webhooks
POST /webhooks/gitea- GITEA webhook endpoint (implemented)
🗄️ Database Schema
Core Tables (MVP)
- teams: Team management and status tracking
- team_roles: Available roles (executor, coordinator, reviewer)
- team_assignments: Agent-to-team assignments
- agents: Minimal agent registry
- slurp_submissions: Artifact tracking
🔐 Security Features
- Docker Swarm Secrets: Sensitive data management
- SHHH Integration: Data redaction and encryption
- JWT Authentication: Service and user token validation
- Webhook Signature Validation: GITEA webhook authenticity
- Rate Limiting: API endpoint protection
🛠️ Development Commands
# Build binary
go build ./cmd/whoosh
# Run tests
go test ./...
# Format code
go fmt ./...
# Static analysis
go vet ./...
# Database migrations
migrate -path migrations -database "postgres://..." up
📊 Monitoring
Docker Swarm Services
# Service status
docker service ls --filter label=com.docker.stack.namespace=whoosh
# Service logs
docker service logs -f whoosh_whoosh
# Scale services
docker service scale whoosh_whoosh=3
Health Endpoints
- Health:
https://whoosh.chorus.services/health - Ready:
https://whoosh.chorus.services/health/ready
🔄 Future Roadmap
Post-MVP Features
- Team Composer: LLM-powered task analysis and team formation
- P2P Communication: UCXL addressing and HMMM integration
- Agent Self-Organization: Automatic team application and consensus
- Advanced Analytics: Performance metrics and team effectiveness
- Multi-Repository Support: Cross-project team coordination
Integration Points
- CHORUS Agents: P2P task coordination and execution
- BZZZ System: Distributed task management integration
- SHHH Encryption: Secure data handling and transmission
- UCXL Addressing: Decentralized resource identification
- SLURP Storage: Comprehensive artifact preservation
📚 Documentation
- Development Plan - Comprehensive transformation roadmap
- Database Schema - Complete schema documentation
- API Specification - Full API reference
- Team Composer Spec - LLM integration details
🤝 Contributing
WHOOSH follows the CHORUS ecosystem development patterns:
- Branch from
mainfor features - Implement with comprehensive tests
- Update version tags for container builds
- Deploy to staging for validation
- Create PR with detailed description
📄 License
This project is part of the CHORUS ecosystem. All rights reserved.
WHOOSH - Where autonomous AI development teams come together 🎭
Description
Languages
Go
86.9%
JavaScript
4%
HTML
2.6%
Makefile
1.7%
CSS
1.4%
Other
3.4%