Sistema completo de gestión de tokens para subagentes NEXUS v4.0: Nuevas directivas SIMCO: - SIMCO-SUBAGENTE.md: Protocolo para agentes en modo subagente - SIMCO-CCA-SUBAGENTE.md: CCA ligero para subagentes (~1,500 tokens) - SIMCO-CONTROL-TOKENS.md: Gestión de límites de tokens - SIMCO-DELEGACION-PARALELA.md: Delegación paralela Perfiles compact (~250 tokens cada uno): - PERFIL-BACKEND-COMPACT.md - PERFIL-FRONTEND-COMPACT.md - PERFIL-DATABASE-COMPACT.md - PERFIL-DEVOPS-COMPACT.md - PERFIL-ML-COMPACT.md - PERFIL-GENERIC-SUBAGENT.md Templates de delegación escalonados: - TEMPLATE-DELEGACION-MINIMA.md (~250 tokens) - TEMPLATE-DELEGACION-ESTANDAR.md (~600 tokens) - TEMPLATE-DELEGACION-COMPLETA.md (~1,800 tokens) Nuevos perfiles especializados: - PERFIL-MCP-ARCHITECT.md - PERFIL-MCP-DEVELOPER.md - PERFIL-RAG-ENGINEER.md - PERFIL-CICD-SPECIALIST.md - PERFIL-PRODUCTION-MANAGER.md - PERFIL-MONITORING-AGENT.md - PERFIL-SECRETS-MANAGER.md - PERFIL-PROPAGATION-TRACKER.md Checklists y documentación: - CHECKLIST-PRE-DELEGACION.md - Análisis y planes de implementación Métricas de mejora: - ~59% reducción de tokens por delegación - Perfiles compact: 69% más ligeros - CCA subagente: 85% más ligero 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
211 lines
4.3 KiB
Markdown
211 lines
4.3 KiB
Markdown
# TEMPLATE: TAREA TÉCNICA
|
|
|
|
**Versión:** 1.1.0
|
|
**Fecha:** 2025-12-08
|
|
**Uso:** Definición de tareas técnicas atómicas
|
|
|
|
---
|
|
|
|
## 🆕 VERIFICACIÓN DE CATÁLOGO (ANTES DE CREAR TAREA)
|
|
|
|
> **OBLIGATORIO verificar si la funcionalidad ya existe en el catálogo global:**
|
|
|
|
```bash
|
|
grep -i "{funcionalidad}" shared/catalog/CATALOG-INDEX.yml
|
|
```
|
|
|
|
**Si existe:** Usar `@REUTILIZAR` en lugar de crear desde cero.
|
|
**Funcionalidades catalogadas:** auth, session, rate-limiting, notifications, multi-tenancy, feature-flags, websocket, payments
|
|
|
|
---
|
|
|
|
## {GRUPO}-{NNN}: {Título de la Tarea}
|
|
|
|
### Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | {DB/BE/FE/TEST}-{NNN} |
|
|
| **Tipo** | {Database / Backend / Frontend / Testing / DevOps} |
|
|
| **Historia** | US-{MOD}-{NNN} |
|
|
| **Épica** | {EPIC-ID} |
|
|
| **Prioridad** | {P0 / P1 / P2 / P3} |
|
|
| **Estimación** | {horas} |
|
|
| **Estado** | {Backlog / In Progress / Review / Done / Blocked} |
|
|
| **Asignado a** | {NEXUS-DATABASE / NEXUS-BACKEND / NEXUS-FRONTEND} |
|
|
|
|
---
|
|
|
|
### Descripción
|
|
|
|
{Descripción clara y concisa de lo que debe hacer esta tarea}
|
|
|
|
### Objetivo
|
|
|
|
{Qué se logra al completar esta tarea}
|
|
|
|
---
|
|
|
|
### Especificación Técnica
|
|
|
|
#### Para Database (DB-XXX):
|
|
|
|
**Schema:** `{schema_name}`
|
|
|
|
**Objeto a crear/modificar:**
|
|
```sql
|
|
-- Tipo: {TABLE / FUNCTION / TRIGGER / INDEX / VIEW}
|
|
-- Archivo: apps/{proyecto}/database/ddl/schemas/{schema}/{tipo}/{archivo}.sql
|
|
|
|
{Especificación SQL o pseudocódigo}
|
|
```
|
|
|
|
**Columnas (si es tabla):**
|
|
| Columna | Tipo | Nullable | Default | Descripción |
|
|
|---------|------|----------|---------|-------------|
|
|
| id | UUID | NO | gen_random_uuid() | PK |
|
|
| {col} | {tipo} | {YES/NO} | {default} | {descripción} |
|
|
|
|
**Índices requeridos:**
|
|
- `idx_{tabla}_{columna}`: {propósito}
|
|
|
|
**RLS Policy:**
|
|
```sql
|
|
CREATE POLICY {policy_name} ON {schema}.{tabla}
|
|
USING ({condición});
|
|
```
|
|
|
|
---
|
|
|
|
#### Para Backend (BE-XXX):
|
|
|
|
**Módulo:** `apps/{proyecto}/backend/src/modules/{modulo}/`
|
|
|
|
**Archivo a crear/modificar:**
|
|
- `{archivo}.ts`
|
|
|
|
**Tipo de artefacto:** {Entity / DTO / Service / Controller / Middleware}
|
|
|
|
**Especificación:**
|
|
```typescript
|
|
// Estructura esperada
|
|
{código o pseudocódigo}
|
|
```
|
|
|
|
**Endpoints (si es Controller):**
|
|
| Método | Ruta | Descripción |
|
|
|--------|------|-------------|
|
|
| GET | /api/{resource} | {descripción} |
|
|
|
|
**Validaciones requeridas:**
|
|
- {validación 1}
|
|
- {validación 2}
|
|
|
|
---
|
|
|
|
#### Para Frontend (FE-XXX):
|
|
|
|
**Ubicación:** `apps/{proyecto}/frontend/src/{tipo}/{archivo}.tsx`
|
|
|
|
**Tipo de artefacto:** {Page / Component / Store / Hook / Service}
|
|
|
|
**Props/Interface:**
|
|
```typescript
|
|
interface {Name}Props {
|
|
{prop}: {tipo};
|
|
}
|
|
```
|
|
|
|
**Comportamiento esperado:**
|
|
- {comportamiento 1}
|
|
- {comportamiento 2}
|
|
|
|
**Estados:**
|
|
- Loading: {descripción}
|
|
- Error: {descripción}
|
|
- Success: {descripción}
|
|
|
|
---
|
|
|
|
### Criterios de Aceptación Técnicos
|
|
|
|
- [ ] {Criterio 1}
|
|
- [ ] {Criterio 2}
|
|
- [ ] {Criterio 3}
|
|
|
|
### Validación
|
|
|
|
**Comandos de validación:**
|
|
```bash
|
|
# Database
|
|
psql -d {db} -c "SELECT * FROM {schema}.{tabla} LIMIT 1;"
|
|
|
|
# Backend
|
|
npm run build
|
|
npm run test -- --grep "{pattern}"
|
|
|
|
# Frontend
|
|
npm run build
|
|
npm run test -- --grep "{pattern}"
|
|
```
|
|
|
|
**Resultado esperado:**
|
|
- {resultado esperado}
|
|
|
|
---
|
|
|
|
### Dependencias
|
|
|
|
**Requiere completadas:**
|
|
- [ ] {GRUPO}-{NNN}: {descripción}
|
|
|
|
**Bloquea:**
|
|
- [ ] {GRUPO}-{NNN}: {descripción}
|
|
|
|
---
|
|
|
|
### Archivos a Crear/Modificar
|
|
|
|
**Crear:**
|
|
- `{ruta/archivo}` - {descripción}
|
|
|
|
**Modificar:**
|
|
- `{ruta/archivo}` - {cambios}
|
|
|
|
---
|
|
|
|
### Definition of Done
|
|
|
|
- [ ] 🆕 Verificó @CATALOG antes de implementar
|
|
- [ ] 🆕 Si usó catálogo: siguió SIMCO-REUTILIZAR.md
|
|
- [ ] Código implementado
|
|
- [ ] Compilación sin errores
|
|
- [ ] Tests pasando
|
|
- [ ] Comentarios/documentación agregados
|
|
- [ ] Code review (si aplica)
|
|
- [ ] Inventario actualizado
|
|
- [ ] Traza registrada
|
|
|
|
---
|
|
|
|
### Notas
|
|
|
|
{Consideraciones especiales, decisiones técnicas, referencias}
|
|
|
|
---
|
|
|
|
### Log de Ejecución
|
|
|
|
| Fecha/Hora | Acción | Resultado |
|
|
|------------|--------|-----------|
|
|
| {timestamp} | Inicio | - |
|
|
| {timestamp} | {acción} | {resultado} |
|
|
| {timestamp} | Fin | {PASS/FAIL} |
|
|
|
|
---
|
|
|
|
**Asignada por:** {nombre-agente}
|
|
**Fecha asignación:** {YYYY-MM-DD}
|
|
**Fecha completada:** {YYYY-MM-DD}
|
|
**Duración real:** {horas}
|