Files
proffesor-for-testing__agen…/docker/docker-compose.ruvector.yml
Profa 1d5abe9aec chore(release): bump version to v2.5.10
Phase 0.5: RuVector Self-Learning Integration

Features:
- RuVectorPostgresAdapter: PostgreSQL vector database with GNN/LoRA/EWC++
- CLI commands: aqe ruvector status/metrics/learn/migrate/health
- Agent pattern store integration (FlakyTestHunter, SecurityScanner)
- Migration script for memory.db → RuVector patterns
- Validation tests for GOAP targets (7 tests)
- User documentation guide

GOAP Targets:
- Cache hit rate: >50%
- Search latency: <1ms (production)
- Pattern retention: >98% (EWC++ guaranteed)
- LoRA memory: <300MB

Changes:
- BaseAgent: Environment variable support for RuVector config
- aqe init: Shows optional RuVector enhancement info
- Security: crypto.randomUUID() instead of Math.random()
- Docker: Docker-in-Docker instead of host socket

Zero breaking changes - RuVector is opt-in (disabled by default)

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-19 20:19:47 +00:00

125 lines
3.1 KiB
YAML

services:
ruvector:
image: ruvnet/ruvector:latest
container_name: agentic-qe-ruvector
restart: unless-stopped
ports:
- "5432:5432" # PostgreSQL
environment:
# Core Configuration
RUVECTOR_LEARNING_ENABLED: "true"
RUVECTOR_EMBEDDING_DIM: "768"
# HNSW Index Configuration
RUVECTOR_HNSW_M: "32" # Number of bi-directional links per node
RUVECTOR_HNSW_EF_CONSTRUCTION: "200" # Size of dynamic candidate list during construction
RUVECTOR_HNSW_EF_SEARCH: "100" # Size of dynamic candidate list during search
# Self-Learning Configuration
RUVECTOR_LORA_RANK: "8" # LoRA rank for efficient fine-tuning
RUVECTOR_LORA_ALPHA: "16" # LoRA scaling factor
RUVECTOR_EWC_ENABLED: "true" # Elastic Weight Consolidation for catastrophic forgetting prevention
RUVECTOR_EWC_LAMBDA: "0.4" # EWC regularization strength
# Memory Management
RUVECTOR_MAX_MEMORY_GB: "4" # Maximum memory usage
RUVECTOR_CACHE_SIZE_MB: "512" # Cache size for embeddings
# Logging
RUVECTOR_LOG_LEVEL: "info"
RUVECTOR_LOG_FORMAT: "json"
volumes:
# Persistent data storage
- ruvector-data:/data
- ruvector-models:/models
# Optional: Mount local config
# - ./config/ruvector.yml:/app/config.yml:ro
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ruvector -d ruvector_db"]
interval: 10s
timeout: 5s
retries: 5
start_period: 30s
# Resource limits (adjust based on your needs)
deploy:
resources:
limits:
cpus: '2.0'
memory: 4G
reservations:
cpus: '1.0'
memory: 2G
networks:
- agentic-qe-network
# Development profile overrides
profiles:
- production
# Development configuration with debug settings
ruvector-dev:
extends:
service: ruvector
container_name: agentic-qe-ruvector-dev
environment:
# Override with development settings
RUVECTOR_LOG_LEVEL: "debug"
RUVECTOR_LOG_FORMAT: "text"
RUVECTOR_DEBUG_ENABLED: "true"
RUVECTOR_PROFILING_ENABLED: "true"
# More aggressive learning for development
RUVECTOR_LORA_RANK: "16"
RUVECTOR_EWC_LAMBDA: "0.3"
ports:
- "5432:5432" # PostgreSQL
volumes:
- ruvector-data-dev:/data
- ruvector-models-dev:/models
# Mount local code for development (if available)
# - ../ruvector:/app:ro
profiles:
- development
volumes:
# Production volumes
ruvector-data:
driver: local
driver_opts:
type: none
o: bind
device: ${RUVECTOR_DATA_PATH:-./data/ruvector}
ruvector-models:
driver: local
driver_opts:
type: none
o: bind
device: ${RUVECTOR_MODELS_PATH:-./data/ruvector-models}
# Development volumes
ruvector-data-dev:
driver: local
ruvector-models-dev:
driver: local
networks:
agentic-qe-network:
driver: bridge
ipam:
config:
- subnet: 172.28.0.0/16