clinica-veterinaria/orchestration/_archive/directivas/principios/PRINCIPIO-NO-ASUMIR.md
Adrian Flores Cortes 8bb46e4d08 [ESTANDAR-ORCHESTRATION] refactor: Consolidate to standard structure
- Move 6 non-standard folders to _archive/
- Update _MAP.md with standardized structure

Standard: SIMCO-ESTANDAR-ORCHESTRATION v1.0.0
Level: SUB-CONSUMER

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-24 14:38:02 -06:00

11 KiB

PRINCIPIO: NO ASUMIR

Version: 1.0.0 Fecha: 2025-12-12 Tipo: Principio Fundamental - HERENCIA OBLIGATORIA Aplica a: TODOS los agentes sin excepcion


DECLARACION DEL PRINCIPIO

╔══════════════════════════════════════════════════════════════════════╗
║                                                                       ║
║   "Si no esta documentado, NO asumir. PREGUNTAR."                    ║
║                                                                       ║
║   Nunca implementar basado en suposiciones.                          ║
║   Nunca inventar requisitos.                                          ║
║   Nunca tomar decisiones de negocio sin autorizacion.                ║
║                                                                       ║
╚══════════════════════════════════════════════════════════════════════╝

REGLA INQUEBRANTABLE

┌─────────────────────────────────────────────────────────────────────┐
│                                                                      │
│   PROHIBIDO:                                                         │
│   - Asumir valores/comportamientos no documentados                  │
│   - Inventar requisitos o especificaciones                          │
│   - Tomar decisiones de negocio sin consultar                       │
│   - Implementar "lo que parece logico" sin confirmacion             │
│   - Interpretar ambiguedad a favor de una opcion                    │
│   - Completar huecos de documentacion con suposiciones              │
│                                                                      │
│   OBLIGATORIO:                                                       │
│   - Detener trabajo cuando falta informacion critica                │
│   - Documentar la pregunta claramente                               │
│   - Escalar al Product Owner                                         │
│   - Esperar respuesta antes de continuar                            │
│   - Documentar la decision antes de implementar                     │
│                                                                      │
└─────────────────────────────────────────────────────────────────────┘

POR QUE ESTE PRINCIPIO

problema:
  - Implementaciones basadas en suposiciones causan retrabajo
  - Asunciones incorrectas generan bugs de negocio
  - Decisiones no autorizadas crean deuda tecnica
  - Interpretaciones personales divergen del objetivo real

consecuencias_de_asumir:
  - Codigo que no cumple requisitos reales
  - Retrabajo costoso cuando se descubre la asuncion incorrecta
  - Perdida de confianza del cliente/PO
  - Documentacion desalineada con implementacion
  - Bugs dificiles de rastrear (parecen funcionar pero no son correctos)

beneficios_de_preguntar:
  - Implementacion correcta desde el inicio
  - Documentacion completa y precisa
  - Menos retrabajo
  - Mayor confianza del equipo
  - Decisiones respaldadas por autoridad correcta

CUANDO APLICA ESTE PRINCIPIO

Casos que REQUIEREN Escalamiento

informacion_faltante:
  - Tabla mencionada sin definicion de columnas
  - Endpoint sin especificacion de payload
  - Pagina sin definicion de componentes
  - Regla de negocio incompleta
  - Valores de enum no especificados
  - Validaciones no documentadas
  - Comportamiento de error no definido
  - Limites/umbrales no especificados

ambiguedad:
  - Requisito interpretable de multiples formas
  - Contradiccion entre documentos
  - Alcance no claramente definido
  - Criterios de aceptacion vagos
  - Casos edge no cubiertos

decisiones_de_negocio:
  - Cambio que afecta UX
  - Modificacion de flujos existentes
  - Nuevas restricciones
  - Priorizacion entre alternativas
  - Trade-offs con impacto en usuario

Casos que NO Requieren Escalamiento

decisiones_tecnicas_puras:
  - Nombre de variable interna
  - Estructura de codigo (si no afecta API)
  - Optimizaciones de rendimiento
  - Refactorizaciones internas
  → Consultar Architecture-Analyst si hay duda

implementacion_clara:
  - Documentacion existe y es clara
  - No hay ambiguedad
  - Comportamiento esta especificado
  → Proceder con implementacion

estandares_definidos:
  - Nomenclatura definida en directivas
  - Patrones definidos en SIMCO
  - Convenciones del proyecto
  → Seguir lo establecido

COMO APLICAR ESTE PRINCIPIO

Paso 1: Buscar Exhaustivamente

ANTES_de_escalar:
  buscar_en:
    - docs/01-requerimientos/
    - docs/02-especificaciones-tecnicas/
    - docs/97-adr/
    - orchestration/inventarios/
    - Codigo existente relacionado
    - Historial de trazas

  tiempo_minimo: "10-15 minutos de busqueda activa"

Paso 2: Si No se Encuentra, Documentar

## INFORMACION NO ENCONTRADA

**Busqueda realizada:**
- [X] docs/01-requerimientos/ - No encontrado
- [X] docs/02-especificaciones-tecnicas/ - Mencionado pero incompleto
- [X] ADRs - No hay ADR relacionado
- [X] Inventarios - N/A

**Conclusion:** Informacion no disponible, requiere escalamiento

Paso 3: Escalar Correctamente

## CONSULTA AL PRODUCT OWNER

**Fecha:** {fecha}
**Agente:** {agente}
**Tarea:** [{ID}] {titulo}

### Contexto
{que estoy haciendo}

### Lo que encontre
{informacion parcial disponible}

### Lo que falta / es ambiguo
{descripcion clara del gap}

### Pregunta especifica
{pregunta concreta}

### Opciones (si las identifique)
1. {opcion A}
2. {opcion B}

### Impacto
{que pasa si no se resuelve}

Paso 4: Esperar y Documentar Respuesta

MIENTRAS_espero:
  - NO implementar esa parte
  - Continuar con otras tareas si es posible
  - Marcar tarea como BLOQUEADA si es critico

CUANDO_recibo_respuesta:
  - Documentar la decision
  - Actualizar documentacion correspondiente
  - Crear ADR si es decision significativa
  - Continuar implementacion

FLUJO DE DECISION

┌─────────────────────────────────────┐
│  Encontrar informacion faltante     │
│  o ambiguedad                        │
└──────────────┬──────────────────────┘
               │
               ▼
┌─────────────────────────────────────┐
│  Buscar exhaustivamente en docs     │
│  (10-15 minutos minimo)             │
└──────────────┬──────────────────────┘
               │
               ▼
        ┌──────┴──────┐
        │ Encontrado? │
        └──────┬──────┘
               │
      ┌────────┴────────┐
      │ SI              │ NO
      ▼                 ▼
┌───────────┐    ┌─────────────────────┐
│ Proceder  │    │ DETENER             │
│ con       │    │ Documentar pregunta │
│ implement │    │ Escalar al PO       │
└───────────┘    └──────────┬──────────┘
                            │
                            ▼
                 ┌─────────────────────┐
                 │ ESPERAR respuesta   │
                 │ (NO asumir)         │
                 └──────────┬──────────┘
                            │
                            ▼
                 ┌─────────────────────┐
                 │ Documentar decision │
                 │ Continuar           │
                 └─────────────────────┘

EJEMPLOS

Ejemplo CORRECTO

situacion: "DDL menciona campo 'status' pero no especifica valores"

proceso_correcto:
  1. Buscar en docs/: No encontrado
  2. Buscar en specs: Solo dice "tiene status"
  3. Buscar en ADRs: No hay ADR
  4. Conclusion: Escalar
  5. Documentar: "Cuales son los valores validos de status?"
  6. Esperar respuesta
  7. PO responde: "['draft', 'active', 'completed']"
  8. Documentar decision
  9. Implementar con valores correctos

Ejemplo INCORRECTO

situacion: "DDL menciona campo 'status' pero no especifica valores"

proceso_incorrecto:
  1. "Parece que deberian ser 'pending', 'done'"
  2. Implementar con esos valores
  3. PO revisa y dice: "No, son 'draft', 'active', 'completed'"
  4. Retrabajo: migration, seed update, tests, backend, frontend
  5. Tiempo perdido: 2-4 horas

CONSECUENCIAS DE IGNORAR

ignorar_este_principio:
  retrabajo:
    - Implementacion incorrecta debe rehacerse
    - Tests basados en asuncion incorrecta
    - Documentacion desalineada

  bugs_de_negocio:
    - Funcionalidad no cumple expectativas
    - Comportamiento inesperado para usuarios
    - Datos incorrectos en sistema

  deuda_tecnica:
    - Codigo parche sobre asuncion incorrecta
    - Inconsistencias acumuladas
    - Complejidad innecesaria

  perdida_de_confianza:
    - PO pierde confianza en implementaciones
    - Mas revision necesaria
    - Ciclos de feedback mas largos

CHECKLIST RAPIDO

Antes de implementar algo no 100% claro:

[ ] Busque en documentacion? (10-15 min minimo)
[ ] Revise specs, ADRs, inventarios?
[ ] Sigue sin estar claro?
[ ] Documente la pregunta?
[ ] Escale al PO?
[ ] Espere respuesta?
[ ] Documente la decision?
[ ] Actualice documentacion correspondiente?

Solo entonces: Proceder con implementacion

RELACION CON OTROS PRINCIPIOS

PRINCIPIO-DOC-PRIMERO:
  - Leer docs antes de implementar
  - Si docs estan incompletos -> NO-ASUMIR aplica

PRINCIPIO-CAPVED:
  - Fase A (Analisis): Identificar informacion faltante
  - Fase V (Validacion): NO aprobar sin informacion completa

PRINCIPIO-VALIDACION-OBLIGATORIA:
  - Validar que implementacion coincide con decision documentada

REFERENCIAS SIMCO

  • @ESCALAMIENTO - Proceso completo de escalamiento
  • @DOC_PRIMERO - Consultar documentacion primero
  • @TAREA - Ciclo de vida de tareas

Este principio es OBLIGATORIO y NO puede ser ignorado por ningun agente.


Version: 1.0.0 | Sistema: SIMCO | Tipo: Principio Fundamental