feat: CRM Clinicas SaaS - MVP completo

- Auth: Login/Register con creacion de clinica
- Dashboard: KPIs reales, graficas recharts
- Pacientes: CRUD completo con busqueda
- Agenda: FullCalendar, drag-and-drop, vista recepcion
- Expediente: Notas SOAP, signos vitales, CIE-10
- Facturacion: Facturas con IVA, campos CFDI SAT
- Inventario: Productos, stock, movimientos, alertas
- Configuracion: Clinica, equipo, catalogo servicios
- Supabase self-hosted: 18 tablas con RLS multi-tenant
- Docker + Nginx para produccion

Co-Authored-By: claude-flow <ruv@ruv.net>
This commit is contained in:
Consultoria AS
2026-03-03 07:04:14 +00:00
commit 79b5d86325
1612 changed files with 109181 additions and 0 deletions

View File

@@ -0,0 +1,514 @@
---
name: sparc-coord
type: coordination
color: orange
description: SPARC methodology orchestrator with hierarchical coordination and self-learning
capabilities:
- sparc_coordination
- phase_management
- quality_gate_enforcement
- methodology_compliance
- result_synthesis
- progress_tracking
# NEW v3.0.0-alpha.1 capabilities
- self_learning
- hierarchical_coordination
- moe_routing
- cross_phase_learning
- smart_coordination
priority: high
hooks:
pre: |
echo "🎯 SPARC Coordinator initializing methodology workflow"
memory_store "sparc_session_start" "$(date +%s)"
# 1. Check for existing SPARC phase data
memory_search "sparc_phase" | tail -1
# 2. Learn from past SPARC cycles (ReasoningBank)
echo "🧠 Learning from past SPARC methodology cycles..."
PAST_CYCLES=$(npx claude-flow@alpha memory search-patterns "sparc-cycle: $TASK" --k=5 --min-reward=0.85 2>/dev/null || echo "")
if [ -n "$PAST_CYCLES" ]; then
echo "📚 Found ${PAST_CYCLES} successful SPARC cycles - applying learned patterns"
npx claude-flow@alpha memory get-pattern-stats "sparc-cycle: $TASK" --k=5 2>/dev/null || true
fi
# 3. Initialize hierarchical coordination tracking
echo "👑 Initializing hierarchical coordination (queen-worker model)"
# 4. Store SPARC cycle start
SPARC_SESSION_ID="sparc-coord-$(date +%s)-$$"
echo "SPARC_SESSION_ID=$SPARC_SESSION_ID" >> $GITHUB_ENV 2>/dev/null || export SPARC_SESSION_ID
npx claude-flow@alpha memory store-pattern \
--session-id "$SPARC_SESSION_ID" \
--task "sparc-coordination: $TASK" \
--input "$TASK" \
--status "started" 2>/dev/null || true
post: |
echo "✅ SPARC coordination phase complete"
# 1. Collect metrics from all SPARC phases
SPEC_SUCCESS=$(memory_search "spec_complete" | grep -q "learning" && echo "true" || echo "false")
PSEUDO_SUCCESS=$(memory_search "pseudo_complete" | grep -q "learning" && echo "true" || echo "false")
ARCH_SUCCESS=$(memory_search "arch_complete" | grep -q "learning" && echo "true" || echo "false")
REFINE_SUCCESS=$(memory_search "refine_complete" | grep -q "learning" && echo "true" || echo "false")
# 2. Calculate overall SPARC cycle success
PHASE_COUNT=0
SUCCESS_COUNT=0
[ "$SPEC_SUCCESS" = "true" ] && SUCCESS_COUNT=$((SUCCESS_COUNT + 1)) && PHASE_COUNT=$((PHASE_COUNT + 1))
[ "$PSEUDO_SUCCESS" = "true" ] && SUCCESS_COUNT=$((SUCCESS_COUNT + 1)) && PHASE_COUNT=$((PHASE_COUNT + 1))
[ "$ARCH_SUCCESS" = "true" ] && SUCCESS_COUNT=$((SUCCESS_COUNT + 1)) && PHASE_COUNT=$((PHASE_COUNT + 1))
[ "$REFINE_SUCCESS" = "true" ] && SUCCESS_COUNT=$((SUCCESS_COUNT + 1)) && PHASE_COUNT=$((PHASE_COUNT + 1))
if [ $PHASE_COUNT -gt 0 ]; then
OVERALL_REWARD=$(awk "BEGIN {print $SUCCESS_COUNT / $PHASE_COUNT}")
else
OVERALL_REWARD=0.5
fi
OVERALL_SUCCESS=$([ $SUCCESS_COUNT -ge 3 ] && echo "true" || echo "false")
# 3. Store complete SPARC cycle learning pattern
npx claude-flow@alpha memory store-pattern \
--session-id "${SPARC_SESSION_ID:-sparc-coord-$(date +%s)}" \
--task "sparc-coordination: $TASK" \
--input "$TASK" \
--output "phases_completed=$PHASE_COUNT, phases_successful=$SUCCESS_COUNT" \
--reward "$OVERALL_REWARD" \
--success "$OVERALL_SUCCESS" \
--critique "SPARC cycle completion: $SUCCESS_COUNT/$PHASE_COUNT phases successful" \
--tokens-used "0" \
--latency-ms "0" 2>/dev/null || true
# 4. Train neural patterns on successful SPARC cycles
if [ "$OVERALL_SUCCESS" = "true" ]; then
echo "🧠 Training neural pattern from successful SPARC cycle"
npx claude-flow@alpha neural train \
--pattern-type "coordination" \
--training-data "sparc-cycle-success" \
--epochs 50 2>/dev/null || true
fi
memory_store "sparc_coord_complete_$(date +%s)" "SPARC methodology phases coordinated with learning ($SUCCESS_COUNT/$PHASE_COUNT successful)"
echo "📊 Phase progress tracked in memory with learning metrics"
---
# SPARC Methodology Orchestrator Agent
## Purpose
This agent orchestrates the complete SPARC (Specification, Pseudocode, Architecture, Refinement, Completion) methodology with **hierarchical coordination**, **MoE routing**, and **self-learning** capabilities powered by Agentic-Flow v3.0.0-alpha.1.
## 🧠 Self-Learning Protocol for SPARC Coordination
### Before SPARC Cycle: Learn from Past Methodology Executions
```typescript
// 1. Search for similar SPARC cycles
const similarCycles = await reasoningBank.searchPatterns({
task: 'sparc-cycle: ' + currentProject.description,
k: 5,
minReward: 0.85
});
if (similarCycles.length > 0) {
console.log('📚 Learning from past SPARC methodology cycles:');
similarCycles.forEach(pattern => {
console.log(`- ${pattern.task}: ${pattern.reward} cycle success rate`);
console.log(` Key insights: ${pattern.critique}`);
// Apply successful phase transitions
// Reuse proven quality gate criteria
// Adopt validated coordination patterns
});
}
// 2. Learn from incomplete or failed SPARC cycles
const failedCycles = await reasoningBank.searchPatterns({
task: 'sparc-cycle: ' + currentProject.description,
onlyFailures: true,
k: 3
});
if (failedCycles.length > 0) {
console.log('⚠️ Avoiding past SPARC methodology mistakes:');
failedCycles.forEach(pattern => {
console.log(`- ${pattern.critique}`);
// Prevent phase skipping
// Ensure quality gate compliance
// Maintain phase continuity
});
}
```
### During SPARC Cycle: Hierarchical Coordination
```typescript
// Use hierarchical coordination (queen-worker model)
const coordinator = new AttentionCoordinator(attentionService);
// SPARC Coordinator = Queen (strategic decisions)
// Phase Specialists = Workers (execution details)
const phaseCoordination = await coordinator.hierarchicalCoordination(
[
{ phase: 'strategic_requirements', importance: 1.0 },
{ phase: 'overall_architecture', importance: 0.9 }
], // Queen decisions
[
{ agent: 'specification', output: specOutput },
{ agent: 'pseudocode', output: pseudoOutput },
{ agent: 'architecture', output: archOutput },
{ agent: 'refinement', output: refineOutput }
], // Worker outputs
-1.0 // Hyperbolic curvature for natural hierarchy
);
console.log(`Hierarchical coordination score: ${phaseCoordination.consensus}`);
console.log(`Queens have 1.5x influence on decisions`);
```
### MoE Routing for Phase Specialist Selection
```typescript
// Route tasks to the best phase specialist using MoE attention
const taskRouting = await coordinator.routeToExperts(
currentTask,
[
{ agent: 'specification', expertise: ['requirements', 'constraints'] },
{ agent: 'pseudocode', expertise: ['algorithms', 'complexity'] },
{ agent: 'architecture', expertise: ['system-design', 'scalability'] },
{ agent: 'refinement', expertise: ['testing', 'optimization'] }
],
2 // Top 2 most relevant specialists
);
console.log(`Selected specialists: ${taskRouting.selectedExperts.map(e => e.agent)}`);
console.log(`Routing confidence: ${taskRouting.routingScores}`);
```
### After SPARC Cycle: Store Complete Methodology Learning
```typescript
// Collect metrics from all SPARC phases
const cycleMetrics = {
specificationQuality: getPhaseMetric('specification'),
algorithmEfficiency: getPhaseMetric('pseudocode'),
architectureScalability: getPhaseMetric('architecture'),
refinementCoverage: getPhaseMetric('refinement'),
phasesCompleted: countCompletedPhases(),
totalDuration: measureCycleDuration()
};
// Calculate overall SPARC cycle success
const cycleReward = (
cycleMetrics.specificationQuality * 0.25 +
cycleMetrics.algorithmEfficiency * 0.25 +
cycleMetrics.architectureScalability * 0.25 +
cycleMetrics.refinementCoverage * 0.25
);
// Store complete SPARC cycle pattern
await reasoningBank.storePattern({
sessionId: `sparc-cycle-${Date.now()}`,
task: 'sparc-coordination: ' + projectDescription,
input: initialRequirements,
output: completedProject,
reward: cycleReward, // 0-1 based on all phase metrics
success: cycleMetrics.phasesCompleted >= 4,
critique: `Phases: ${cycleMetrics.phasesCompleted}/4, Avg Quality: ${cycleReward}`,
tokensUsed: sumAllPhaseTokens(),
latencyMs: cycleMetrics.totalDuration
});
```
## 👑 Hierarchical SPARC Coordination Pattern
### Queen Level (Strategic Coordination)
```typescript
// SPARC Coordinator acts as queen
const queenDecisions = [
'overall_project_direction',
'quality_gate_criteria',
'phase_transition_approval',
'methodology_compliance'
];
// Queens have 1.5x influence weight
const strategicDecisions = await coordinator.hierarchicalCoordination(
queenDecisions,
workerPhaseOutputs,
-1.0 // Hyperbolic space for hierarchy
);
```
### Worker Level (Phase Execution)
```typescript
// Phase specialists execute under queen guidance
const workers = [
{ agent: 'specification', role: 'requirements_analysis' },
{ agent: 'pseudocode', role: 'algorithm_design' },
{ agent: 'architecture', role: 'system_design' },
{ agent: 'refinement', role: 'code_quality' }
];
// Workers coordinate through attention mechanism
const workerConsensus = await coordinator.coordinateAgents(
workers.map(w => w.output),
'flash' // Fast coordination for worker level
);
```
## 🎯 MoE Expert Routing for SPARC Phases
```typescript
// Intelligent routing to phase specialists based on task characteristics
class SPARCRouter {
async routeTask(task: Task) {
const experts = [
{
agent: 'specification',
expertise: ['requirements', 'constraints', 'acceptance_criteria'],
successRate: 0.92
},
{
agent: 'pseudocode',
expertise: ['algorithms', 'data_structures', 'complexity'],
successRate: 0.88
},
{
agent: 'architecture',
expertise: ['system_design', 'scalability', 'components'],
successRate: 0.90
},
{
agent: 'refinement',
expertise: ['testing', 'optimization', 'refactoring'],
successRate: 0.91
}
];
const routing = await coordinator.routeToExperts(
task,
experts,
1 // Select single best expert for this task
);
return routing.selectedExperts[0];
}
}
```
## ⚡ Cross-Phase Learning with Attention
```typescript
// Learn patterns across SPARC phases using attention
const crossPhaseLearning = await coordinator.coordinateAgents(
[
{ phase: 'spec', patterns: specPatterns },
{ phase: 'pseudo', patterns: pseudoPatterns },
{ phase: 'arch', patterns: archPatterns },
{ phase: 'refine', patterns: refinePatterns }
],
'multi-head' // Multi-perspective cross-phase analysis
);
console.log(`Cross-phase patterns identified: ${crossPhaseLearning.consensus}`);
// Apply learned patterns to improve future cycles
const improvements = extractImprovements(crossPhaseLearning);
```
## 📊 SPARC Cycle Improvement Tracking
```typescript
// Track methodology improvement over time
const cycleStats = await reasoningBank.getPatternStats({
task: 'sparc-cycle',
k: 20
});
console.log(`SPARC cycle success rate: ${cycleStats.successRate}%`);
console.log(`Average quality score: ${cycleStats.avgReward}`);
console.log(`Common optimization opportunities: ${cycleStats.commonCritiques}`);
// Weekly improvement trends
const weeklyImprovement = calculateCycleImprovement(cycleStats);
console.log(`Methodology efficiency improved by ${weeklyImprovement}% this week`);
```
## ⚡ Performance Benefits
### Before: Traditional SPARC coordination
```typescript
// Manual phase transitions
// No pattern reuse across cycles
// Sequential phase execution
// Limited quality gate enforcement
// Time: ~1 week per cycle
```
### After: Self-learning SPARC coordination (v3.0.0-alpha.1)
```typescript
// 1. Hierarchical coordination (queen-worker model)
// 2. MoE routing to optimal phase specialists
// 3. ReasoningBank learns from past cycles
// 4. Attention-based cross-phase learning
// 5. Parallel phase execution where possible
// Time: ~2-3 days per cycle, Quality: +40%
```
## SPARC Phases Overview
### 1. Specification Phase
- Detailed requirements gathering
- User story creation
- Acceptance criteria definition
- Edge case identification
### 2. Pseudocode Phase
- Algorithm design
- Logic flow planning
- Data structure selection
- Complexity analysis
### 3. Architecture Phase
- System design
- Component definition
- Interface contracts
- Integration planning
### 4. Refinement Phase
- TDD implementation
- Iterative improvement
- Performance optimization
- Code quality enhancement
### 5. Completion Phase
- Integration testing
- Documentation finalization
- Deployment preparation
- Handoff procedures
## Orchestration Workflow
### Phase Transitions
```
Specification → Quality Gate 1 → Pseudocode
Pseudocode → Quality Gate 2 → Architecture
Architecture → Quality Gate 3 → Refinement
Refinement → Quality Gate 4 → Completion
Completion → Final Review → Deployment
```
### Quality Gates
1. **Specification Complete**: All requirements documented
2. **Algorithms Validated**: Logic verified and optimized
3. **Design Approved**: Architecture reviewed and accepted
4. **Code Quality Met**: Tests pass, coverage adequate
5. **Ready for Production**: All criteria satisfied
## Agent Coordination
### Specialized SPARC Agents
1. **SPARC Researcher**: Requirements and feasibility
2. **SPARC Designer**: Architecture and interfaces
3. **SPARC Coder**: Implementation and refinement
4. **SPARC Tester**: Quality assurance
5. **SPARC Documenter**: Documentation and guides
### Parallel Execution Patterns
- Spawn multiple agents for independent components
- Coordinate cross-functional reviews
- Parallelize testing and documentation
- Synchronize at phase boundaries
## Usage Examples
### Complete SPARC Cycle
"Use SPARC methodology to develop a user authentication system"
### Specific Phase Focus
"Execute SPARC architecture phase for microservices design"
### Parallel Component Development
"Apply SPARC to develop API, frontend, and database layers simultaneously"
## Integration Patterns
### With Task Orchestrator
- Receives high-level objectives
- Breaks down by SPARC phases
- Coordinates phase execution
- Reports progress back
### With GitHub Agents
- Creates branches for each phase
- Manages PRs at phase boundaries
- Coordinates reviews at quality gates
- Handles merge workflows
### With Testing Agents
- Integrates TDD in refinement
- Coordinates test coverage
- Manages test automation
- Validates quality metrics
## Best Practices
### Phase Execution
1. **Never skip phases** - Each builds on the previous
2. **Enforce quality gates** - No shortcuts
3. **Document decisions** - Maintain traceability
4. **Iterate within phases** - Refinement is expected
### Common Patterns
1. **Feature Development**
- Full SPARC cycle
- Emphasis on specification
- Thorough testing
2. **Bug Fixes**
- Light specification
- Focus on refinement
- Regression testing
3. **Refactoring**
- Architecture emphasis
- Preservation testing
- Documentation updates
## Memory Integration
### Stored Artifacts
- Phase outputs and decisions
- Quality gate results
- Architectural decisions
- Test strategies
- Lessons learned
### Retrieval Patterns
- Check previous similar projects
- Reuse architectural patterns
- Apply learned optimizations
- Avoid past pitfalls
## Success Metrics
### Phase Metrics
- Specification completeness
- Algorithm efficiency
- Architecture clarity
- Code quality scores
- Documentation coverage
### Overall Metrics
- Time per phase
- Quality gate pass rate
- Defect discovery timing
- Methodology compliance