Diagnostic reference · 7 properties · 7 failure modes Referencia diagnóstica · 7 propiedades · 7 modos de falla

The Seven GS Diseases Las Siete Enfermedades GS

Each GS property has a named failure mode at score 0. These names exist to make the failure recognizable — the same way medicine names diseases to enable diagnosis and treatment. The names are not criticism; they are categories. Knowing which disease a codebase has tells you exactly which cure to apply. Cada propiedad GS tiene un modo de falla nombrado en puntaje 0. Estos nombres existen para hacer que la falla sea reconocible — de la misma manera que la medicina nombra enfermedades para habilitar diagnóstico y tratamiento. Los nombres no son crítica; son categorías. Saber qué enfermedad tiene una base de código te dice exactamente qué cura aplicar.

Score 0 · Self-describing Puntaje 0 · Auto-descriptivo

Empty Map Mapa Vacío

Every session begins with a clean slate. The AI reconstructs intent from code shape alone — which produces a reconstruction, not a memory. It will correctly infer what the code does but not why constraints exist, which means it will "optimize" them away. The drift is silent and consistent: each session erodes a little more of the original intent, and no one notices until behavior changes in production. Cada sesión comienza desde cero. La IA reconstruye la intención solo desde la forma del código — lo que produce una reconstrucción, no una memoria. Inferirá correctamente qué hace el código, pero no por qué existen las restricciones, lo que significa que las "optimizará" eliminándolas. La deriva es silenciosa y consistente: cada sesión erosiona un poco más de la intención original, y nadie lo nota hasta que el comportamiento cambia en producción.

Cure: Write SPEC.md (overview + vision + constraints). The sentinel tree recipe at /sentinel produces it in one session — 90 minutes, new or existing project. Cura: Escribe SPEC.md (resumen + visión + restricciones). La receta del árbol sentinel en /sentinel lo produce en una sesión — 90 minutos, proyecto nuevo o existente.
→ Run the full audit → Corre la auditoría completa
Score 0 · Bounded Puntaje 0 · Acotado

Spreading Boundary Frontera Expansiva

The AI's tool read window is capped. A file that exceeds the read budget is silently truncated — the AI edits against an incomplete view of the file. It adds code that contradicts what it couldn't see. Large files also produce large prompts, which increases token cost and reduces generation quality for every session that touches them. The pattern compounds: the more you add, the less the AI can see, the worse the additions get. La ventana de lectura de herramientas de la IA tiene un límite. Un archivo que excede el presupuesto de lectura es truncado silenciosamente — la IA edita contra una vista incompleta del archivo. Agrega código que contradice lo que no pudo ver. Los archivos grandes también producen prompts grandes, lo que aumenta el costo en tokens y reduce la calidad de generación para cada sesión que los toca. El patrón se compone: mientras más agregas, menos puede ver la IA, peores son las adiciones.

Cure: Declare explicit size limits in the architectural constitution. Set max_file_length: 400 and max_function_length: 50 as enforced quality gates. Add them to SPEC.md's Quality Gates section — the sentinel tree recipe at /sentinel includes them by default. Cura: Declara límites de tamaño explícitos en la constitución arquitectónica. Establece max_file_length: 400 y max_function_length: 50 como gates de calidad aplicados. Agrégalos a la sección de Gates de Calidad de SPEC.md — la receta del árbol sentinel en /sentinel los incluye por defecto.
→ Run the full audit → Corre la auditoría completa
Score 0 · Composable Puntaje 0 · Componible

Tangled Web Red Enmarañada

The AI cannot model the full blast radius of a change without reading every transitively dependent file. Without clean boundaries, every task requires a large context window to be safe. Hallucinated side effects proliferate — the AI assumes a boundary exists and acts as if it does, generating changes that are safe in isolation but break dependencies it couldn't see. Each session adds new entanglement at the speed of generation. La IA no puede modelar el radio de explosión completo de un cambio sin leer cada archivo transitivamente dependiente. Sin fronteras limpias, cada tarea requiere una ventana de contexto grande para ser segura. Los efectos secundarios alucinados proliferan — la IA asume que existe una frontera y actúa como si así fuera, generando cambios que son seguros en aislamiento pero rompen dependencias que no pudo ver. Cada sesión agrega nuevo enmarañamiento a velocidad de generación.

Cure: Declare module interfaces in SPEC.md. Enforce no-circular-deps in CI. Name the allowed dependency directions in the architectural constitution: "domain → application → infrastructure, never reversed." The sentinel tree recipe at /sentinel generates this architecture section automatically from your interview answers. Cura: Declara las interfaces de módulos en SPEC.md. Aplica no-circular-deps en CI. Nombra las direcciones de dependencias permitidas en la constitución arquitectónica: "dominio → aplicación → infraestructura, nunca invertido." La receta del árbol sentinel en /sentinel genera esta sección de arquitectura automáticamente desde las respuestas de tu entrevista.
→ Run the full audit → Corre la auditoría completa
Score 0 · Verifiable Puntaje 0 · Verificable

Unbound Spec Spec Sin Límites

Without executable tests, the AI has no way to verify whether what it generated is correct. It generates, the generation looks plausible, and the session closes. The defect is discovered in production or not at all. Coverage statistics become meaningless because coverage measures execution, not correctness. The AI will also generate new tests to match its new code — ensuring they pass — rather than writing tests that bind the spec to behavior. Sin pruebas ejecutables, la IA no tiene forma de verificar si lo que generó es correcto. Genera, la generación parece plausible, y la sesión cierra. El defecto se descubre en producción o no se descubre. Las estadísticas de cobertura se vuelven sin sentido porque la cobertura mide ejecución, no corrección. La IA también generará nuevas pruebas para que coincidan con su nuevo código — asegurándose de que pasen — en lugar de escribir pruebas que vinculen la spec al comportamiento.

Cure: Add behavioral tests before structural refactoring (oracle tests first rule). Declare the test pyramid in SPEC.md: unit at function boundaries, integration at module boundaries, end-to-end at use case boundaries. Each feature in SPEC.md should have at least one acceptance criterion that maps to a runnable test. Cura: Agrega pruebas de comportamiento antes de refactorización estructural (regla oracle tests primero). Declara la pirámide de pruebas en SPEC.md: unitarias en fronteras de función, integración en fronteras de módulo, end-to-end en fronteras de caso de uso. Cada feature en SPEC.md debe tener al menos un criterio de aceptación que mapee a una prueba ejecutable.
→ Run the full audit → Corre la auditoría completa
Score 0 · Auditable Puntaje 0 · Auditable

Amnesia Stack Pila Amnésica

The AI encounters a decision that looks suboptimal — an unusual data model, a non-standard pattern, a constraint that seems arbitrary — and "corrects" it. The constraint was intentional. The ADR that would have explained why it exists does not exist. The AI has no way to distinguish intentional tradeoffs from bugs. Over many sessions, every unusual-but-correct decision gets gradually normalized away. The codebase becomes consistent, conventional, and wrong in exactly the ways that matter. La IA encuentra una decisión que parece subóptima — un modelo de datos inusual, un patrón no estándar, una restricción que parece arbitraria — y la "corrige". La restricción era intencional. El ADR que habría explicado por qué existe no existe. La IA no tiene forma de distinguir entre tradeoffs intencionales y bugs. A lo largo de muchas sesiones, cada decisión inusual-pero-correcta se va normalizando gradualmente. La base de código se vuelve consistente, convencional, y equivocada exactamente en las formas que importan.

Cure: Write ADR-000 for the foundational architecture. Declare Conventional Commits enforcement in the architectural constitution. An ADR-000 takes 20 minutes; recovering from months of undocumented AI drift takes much longer. The sentinel tree recipe at /sentinel generates ADR-000 automatically. Cura: Escribe ADR-000 para la arquitectura fundacional. Declara el cumplimiento de Conventional Commits en la constitución arquitectónica. Un ADR-000 tarda 20 minutos; recuperarse de meses de deriva de IA no documentada tarda mucho más. La receta del árbol sentinel en /sentinel genera ADR-000 automáticamente.
→ Run the full audit → Corre la auditoría completa
Score 0 · Defended Puntaje 0 · Defendido

Open Gates Puertas Abiertas

The AI generates code that reflects the patterns in the existing codebase. If the existing code has no input validation, the AI adds new endpoints without validation — because that is the pattern it observes. If secrets are in source files, new secrets land in source files. If error responses leak internals, new error responses leak internals. The failure mode is not AI malice; it is AI pattern replication at speed. Every new endpoint is a new attack surface, generated in the style of the existing undefended codebase. La IA genera código que refleja los patrones en la base de código existente. Si el código existente no tiene validación de input, la IA agrega nuevos endpoints sin validación — porque ese es el patrón que observa. Si los secretos están en archivos fuente, los nuevos secretos aterrizan en archivos fuente. Si las respuestas de error filtran internos, las nuevas respuestas de error filtran internos. El modo de falla no es malicia de la IA; es replicación de patrones de IA a velocidad. Cada nuevo endpoint es una nueva superficie de ataque, generada en el estilo de la base de código existente no defendida.

Cure: Declare the trust boundary in SPEC.md. Add a Defended section to the architectural constitution: validation required at every API boundary, secrets in environment files only, error responses never leak internals. Once declared, the AI will generate defensive code by default — because the pattern it observes is the defended one. Cura: Declara el trust boundary en SPEC.md. Agrega una sección de Defendido a la constitución arquitectónica: validación requerida en cada boundary de API, secretos solo en archivos de entorno, las respuestas de error nunca filtran internos. Una vez declarado, la IA generará código defensivo por defecto — porque el patrón que observa es el defendido.
→ Run the full audit → Corre la auditoría completa
Score 0 · Executable Puntaje 0 · Ejecutable

Frozen Spec Spec Congelada

The AI reads the spec and believes it. It generates code consistent with the documented (but non-executable) state, not the actual (running but different) state. The spec and the system diverge further with each session. The AI confidently produces correct code for a spec that does not match reality — and because the code looks right, the divergence is hard to detect until a critical feature fails in production. The spec becomes a fiction that the AI maintains with increasing confidence. La IA lee la spec y la cree. Genera código consistente con el estado documentado (pero no ejecutable), no con el estado real (en ejecución pero diferente). La spec y el sistema divergen más con cada sesión. La IA produce con confianza código correcto para una spec que no coincide con la realidad — y porque el código parece correcto, la divergencia es difícil de detectar hasta que una feature crítica falla en producción. La spec se convierte en una ficción que la IA mantiene con creciente confianza.

Cure: The spec must be executable — every claim in it must be verified by a running test. Run the test suite as the first thing in every AI session. If tests fail, fix them before writing new features. A frozen spec that doesn't match a passing test suite is not a spec; it is documentation debt that will cost more to resolve with each session that passes. Cura: La spec debe ser ejecutable — toda afirmación en ella debe ser verificada por una prueba en ejecución. Corre la suite de pruebas como lo primero en cada sesión de IA. Si las pruebas fallan, arréglales antes de escribir nuevas features. Una spec congelada que no coincide con una suite de pruebas pasando no es una spec; es deuda de documentación que costará más resolver con cada sesión que pase.
→ Run the full audit → Corre la auditoría completa

Quick Reference Referencia Rápida

DiseaseEnfermedad PropertyPropiedad ScorePuntaje LinkEnlace
Empty MapMapa Vacío Self-describingAuto-descriptivo 0 /diseases#empty-map
Spreading BoundaryFrontera Expansiva BoundedAcotado 0 /diseases#spreading-boundary
Tangled WebRed Enmarañada ComposableComponible 0 /diseases#tangled-web
Unbound SpecSpec Sin Límites VerifiableVerificable 0 /diseases#unbound-spec
Amnesia StackPila Amnésica AuditableAuditable 0 /diseases#amnesia-stack
Open GatesPuertas Abiertas DefendedDefendido 0 /diseases#open-gates
Frozen SpecSpec Congelada ExecutableEjecutable 0 /diseases#frozen-spec
Workshop · 30 min Taller · 30 min
Run the Full Audit → Corre la Auditoría Completa →
Score all seven properties. One prompt, no tools required. Puntúa las siete propiedades. Un prompt, sin herramientas.
Foundation · 90 min Fundación · 90 min
Generate Your Specification → Genera tu Especificación →
Full sentinel tree: SPEC.md, constitutions, STATUS.md, ADR-000. Árbol sentinel completo: SPEC.md, constituciones, STATUS.md, ADR-000.
Recipes Recetas
Recipe Cards → Tarjetas de Receta →
Focused recipes for specific situations and use cases. Recetas enfocadas para situaciones y casos de uso específicos.