Laboratorio / Artículo conceptual
Propuesta, no un sistema en marchaGenealogía del software para una era de descendientes generados
CodeAncestry
Un protocolo de linaje vivo para genomas de software, herencia entre agentes y ecosistemas de software evolutivos.Carlos Carpio · Investigador independiente y constructor de software · agosto de 2026El software ya se puede copiar, bifurcar, empaquetar y desplegar. Lo que no puede es explicarse: qué capacidades heredó un proyecto, qué comportamientos se cambiaron a propósito, qué agente propuso un cambio y si una mejora encontrada río abajo debería volver río arriba. Este artículo propone una capa que lleve esas respuestas.
El vocabulario es biológico; el sustrato no lo es. Bajo la metáfora, el artículo se queda en ingeniería ordinaria: control de versiones, manifiestos, pruebas, firmas, motores de política, procedencia y mensajería controlada entre agentes.Origen / 01
Empezó como una bifurcación que no bastaba.
La idea salió de KEYLIT, una aplicación de aprendizaje de piano asistida por IA con un diseño, un repositorio, una estructura de lecciones y una interfaz concretos. Personas distintas podrían querer, con toda razón, formas radicalmente distintas del mismo sistema: una versión infantil con gamificación, otra centrada en la accesibilidad con navegación por voz, una versión de aula con paneles para docentes, una localización en español o quechua, una versión de composición que reutilice el motor MIDI, o una versión encarnada donde un avatar se convierte en el profesor.
La respuesta convencional es una rama, una bifurcación, una plantilla o un repositorio nuevo. Pero cuanto más se aleja un derivado, más difícil resulta conservar una relación útil con el original. Las actualizaciones de arriba chocan con la personalización local, las invenciones de abajo nunca regresan al ancestro, y un agente de programación con IA no tiene forma de saber qué partes se heredaron, cuáles son adaptaciones locales soberanas y cuáles no deben sobrescribirse nunca.
¿Y si crear una aplicación personalizada no se tratara solo como copiar código, sino como crear un hijo que sabe qué heredó?
Modelo / 02
Cinco palabras, definidas antes de usarlas.
La propuesta es una capa de composición, no un reemplazo de Git, los SBOM, los estándares de procedencia, las líneas de producto ni los protocolos de agentes. Los enlaza alrededor de un vocabulario pequeño, y el vocabulario tiene que ser preciso antes de que nada de esto signifique algo.
- 01
Genoma
De qué declara estar hecho un proyecto
Un manifiesto semántico legible por máquina que describe las capacidades, implementaciones, interfaces, pruebas, políticas, procedencia y relaciones de herencia de un proyecto. No es un modelo de variabilidad, sino un registro histórico y operativo de cómo se heredaron y cambiaron las capacidades.
- 02
Gen
Una capacidad, no un archivo
Una capacidad semántica con referencias a su implementación: identificador, propósito, interfaz, implementación, pruebas, dependencias, origen, padre, licencia, política y evidencia. Un gen puede abarcar varios repositorios, y algunos son solo de configuración o solo de política. Dar por hecho que una capacidad equivale a un paquete es el error común que este modelo intenta evitar.
- 03
Mutación
Un cambio intencional, con su evidencia
Una transformación deliberada de un gen o de un conjunto de genes, acompañada de evidencia: pruebas, mediciones, análisis de seguridad, estudios con personas usuarias o revisión humana. Una mutación es una afirmación sobre un cambio, y la afirmación pretende ser verificable en vez de anecdótica.
- 04
ADN de agente
Una identidad acotada para el agente de un proyecto
Un manifiesto de identidad y política, legible por máquina, para el agente asociado a un proyecto: identificadores de linaje, rol, permisos de herramientas, referencias de memoria, privilegios de mutación, alcance de comunicación y adaptaciones locales protegidas. No son los pesos del modelo: un proyecto puede cambiar de proveedor y conservar la misma identidad de linaje.
- 05
Grafo de linaje
Un multigrafo dirigido, no un árbol
Proyectos, genes, agentes y artefactos de conocimiento como vértices; ascendencia, derivación de genes, delegación entre agentes y propagación de conocimiento como conjuntos de aristas distintos. Admite herencia vertical, ramificación, fusión, recombinación y transferencia lateral entre familias sin parentesco.
Reproducción / 03
Cuatro formas de descender de algo.
Aquí la metáfora es musical antes que biológica. Una canción produce versiones, remezclas, samples y reinterpretaciones que siguen siendo reconociblemente parientes mientras se vuelven distintas de verdad. Aplicado al software, esto replantea la obra derivada: de “copiar y diferenciar” a heredar y expresar con intención.
- 01
Hijo / Bifurcación
Se queda cerca
Conserva casi todo del padre y sigue recibiendo de él las mejoras compatibles.
- 02
Remezcla
Guarda las piezas, cambia la experiencia
Reutiliza capacidades seleccionadas mientras cambia de forma sustancial la experiencia o el comportamiento.
- 03
Versión
La misma idea, otro instrumento
Conserva la especificación funcional o el concepto, pero lo reimplementa en otro stack, lenguaje, plataforma o arquitectura.
- 04
Híbrido
Más de un padre
Combina genes de varios proyectos en un nuevo descendiente, sujeto a restricciones de licencia y compatibilidad.
ADN de agente / 04
El segundo salto: el descendiente lleva un guardián.
El concepto se vuelve más radical cuando cada proyecto lleva no solo un genoma, sino un agente ligado a él. Ese agente no es un generador de código. Se plantea como intérprete del linaje del proyecto: qué ancestros existen, qué genes se heredaron y cuáles se modificaron localmente, dónde están los límites arquitectónicos, qué parientes son compatibles, qué mutaciones se aceptaron o rechazaron antes, y qué puede compartirse hacia arriba, hacia abajo o de lado.
Qué declara el manifiesto
- 01
Identidad
Quién es este agente
Un identificador de linaje único, sus agentes padre y ancestros, y el proyecto y genoma a los que pertenece.
- 02
Rol y capacidades
Para qué está
El rol declarado —guardián del linaje, por ejemplo— y las capacidades que ese rol tiene permitido ejercer.
- 03
Permisos de herramientas
Qué puede tocar
Permisos de herramientas y límites de confianza, de modo que la autoridad se conceda de forma explícita en vez de deducirse del acceso.
- 04
Referencias de memoria
Qué puede recordar
Referencias de memoria y una política de retención, separadas del historial de conversación en bruto que las produjo.
- 05
Alcance de lo compartido
Qué puede salir del proyecto
Qué puede compartirse —resúmenes de mediciones, propuestas de mutación firmadas, lecciones no privadas— y qué no: datos privados de personas usuarias, secretos, registros de conversación sin restricción.
- 06
Rasgos protegidos
Qué no puede sobrescribirse nunca
Las adaptaciones locales que un descendiente declara soberanas: una política de seguridad infantil, una interfaz simplificada, una decisión de accesibilidad que río arriba no debe revertir en silencio.
Si la historia de un proyecto queda atada al modelo de un proveedor, la continuidad se rompe cada vez que el equipo cambia de herramienta. Hacer del proyecto la unidad estable —y mantener la identidad de linaje separada del modelo que hay detrás— es lo que permitiría que otro asistente, un modelo local o un futuro desarrollador autónomo actúen a través de la misma identidad, si se les autoriza.
Propagación / 05
Los parientes pueden aprender unos de otros. Copiarse, no.
Esta es la regla de seguridad de la que cuelga el resto del diseño. Una mutación exitosa en un descendiente se convierte en una propuesta candidata, nunca en una actualización automática, y cada proyecto que la recibe sigue siendo soberano para decidir si la adopta. Así la mejora puede viajar hacia arriba al ancestro, hacia abajo a los descendientes y de lado entre familias sin parentesco, siempre como propuesta con evidencia adjunta.
El recorrido de una propuesta
- 01Descubrir
- 02Describir
- 03Atestiguar
- 04Simular
- 05Probar
- 06Revisar
- 07Adoptar / Rechazar / Poner en cuarentena
La aptitud es un vector, no una nota
La aptitud biológica es una analogía imperfecta a propósito. Una mutación candidata debería evaluarse en varias dimensiones a la vez, y no debería exigirse una suma ponderada universal: un robot médico y una web de aprendizaje musical no tienen por qué optimizar el mismo objetivo. La política decide qué dimensiones son obligatorias y cuáles solo informativas.
- CCorrección
- Corrección y calidad de las pruebas.
- SSeguridad
- Seguridad informática y seguridad de uso.
- PRendimiento
- Rendimiento y uso de recursos.
- UValor de uso
- Métricas de valor para quien lo usa.
- KCompatibilidad
- Compatibilidad entre parientes.
- RFiabilidad
- Fiabilidad y confianza en la reversión.
- LLegal
- Compatibilidad legal y de licencias.
Lo que un linaje conectado hace posible y, por lo tanto, tiene que impedir
- 01
Envenenamiento de mutaciones
Una puerta trasera con buena nota
Un descendiente malicioso podría anunciar una mutación atractiva que lleve una puerta trasera. Las contramedidas son procedencia firmada, pruebas reproducibles, aislamiento, validación independiente, puntuaciones de confianza, listas de permitidos y adopción sujeta a política.
- 02
Gusanos de propagación
Una epidemia de actualizaciones
La propagación automática crearía un análogo de una epidemia, así que hay que prohibir la fusión automática de mutaciones no confiables por defecto. La adopción exige política explícita y umbrales de evidencia.
- 03
Suplantación de agentes
Afirmar no es ser
Que un modelo diga ser cierto agente de linaje no basta. La identidad debe estar ligada criptográficamente a la autorización del proyecto y controlada por quien lo posee.
- 04
Fuga de privacidad
Lecciones, no memorias
Los agentes deberían intercambiar paquetes de conocimiento estructurados y aprobados por política, con alcance y caducidad, en vez de memorias en bruto, código propietario, datos de personas usuarias o credenciales.
- 05
Contaminación de licencias
Una restricción dura
La hibridación entre proyectos puede crear obligaciones incompatibles, así que cada gen lleva metadatos de licencia y atribución, y el resolutor trata la compatibilidad de licencias como restricción dura, no como aviso cosmético.
- 06
Manipulación de métricas
Por qué la aptitud sigue siendo múltiple
Si la aptitud influye en la adopción, agentes y desarrolladores optimizarán lo que se ve. Mantenerla multidimensional, auditable y específica de cada dominio es lo que resiste la optimización de un solo número.
Arquitectura / 06
Una capa superpuesta, dibujada en cinco niveles.
Git sigue siendo la fuente autorizada del historial de código. La propuesta evita a propósito construir un almacén de código paralelo y no trazable: los objetos de genoma y linaje referencian commits inmutables, etiquetas, artefactos, identificadores de paquete y hashes de contenido siempre que sea posible. Un MVP puede funcionar sobre PostgreSQL con consultas recursivas; una base de datos de grafos resulta útil a escala, pero no hace falta para empezar.
- 01
Interfaces de personas y agentes
Por dónde se entra
Asistentes de programación, IDE, sistemas de CI/CD, robots y agentes locales.
- 02
Capa de interoperabilidad
Cómo se conectan
Adaptadores de herramientas estilo MCP, mensajería estilo A2A y conectores de repositorio y CI, para que una red de linaje no quede atada a un solo proveedor de modelos.
- 03
Motor de linaje
La contribución propuesta
Grafo de proyectos, registro de genes, ADN de agente, propuestas de mutación, motor de política y resolutor de compatibilidad. La compatibilidad combina interfaces declaradas y versiones semánticas, restricciones de dependencias y de construcción, pruebas automatizadas, política de seguridad, obligaciones de licencia, límites del entorno y adaptaciones locales protegidas.
- 04
Capa de evidencia y confianza
Por qué se puede creer una afirmación
Firmas, atestaciones SLSA e in-toto, referencias de SBOM en SPDX o CycloneDX, pruebas, mediciones y registros de revisión. Un registro de mutación lleva a la vez la intención semántica y la evidencia verificable de construcción y pruebas.
- 05
Fuente de verdad y almacenamiento
Dónde vive de verdad
Repositorios Git, almacenes de artefactos, una base de datos de grafos o de índices y un almacén de memoria cifrado.
Hoja de ruta / 07
Primero un esquema pequeño. Los sistemas encarnados, al final.
La primera especificación debería mantenerse pequeña a propósito. Modelar de entrada cada analogía biológica compraría complejidad antes que comprensión.
- 01
Fase 0
Terminología y esquema
Una especificación abierta mínima para los registros de proyecto, genoma, ADN de agente, mutación y adopción, más identificadores direccionados por contenido y firmas.
- 02
Fase 1
Un MVP conectado a repositorios
Autenticar, elegir un repositorio, analizar manifiestos, estructura, pruebas y documentación, dejar que un agente proponga un genoma semántico, exigir confirmación humana de genes y límites, guardar el genoma en el repositorio, crear un hijo con metadatos de herencia explícitos y dibujar el primer grafo de linaje.
- 03
Fase 2
Propuestas de mutación
Registros de mutación a nivel de gen, pruebas de compatibilidad, evidencia medida, firma y flujos de propuesta hacia arriba y hacia abajo, integrados con atestaciones y referencias de SBOM donde resulte útil.
- 04
Fase 3
Linaje multiagente
ADN de agente persistente y adaptadores neutrales respecto al proveedor, para que un proyecto pueda cambiar de modelo con el tiempo conservando una sola identidad de linaje y su política.
- 05
Fase 4
Registro de genes entre familias
Descubrimiento de genes entre proyectos sin parentesco, lo que exige licenciamiento, seguridad, gobernanza de esquemas y puntuación de confianza sólidos antes de intentarlo con seguridad.
- 06
Fase 5
Sistemas encarnados y de vida larga
Extensión a firmware, configuraciones de hardware, comportamientos de robots, versiones de modelos y casos de seguridad, donde la genealogía de máquinas pasa a ser operativamente relevante y no solo cosa de quien programa.
Preguntas abiertas / 08
Qué habría que medir.
Las afirmaciones centrales son comprobables, y ninguna se ha comprobado. Un primer estudio podría crear varios descendientes de un mismo proyecto y comparar dos formas de mantenerlos a lo largo de una secuencia de cambios: bifurcaciones ordinarias con fusión y revisión manuales como referencia, y genomas explícitos con genes protegidos y propuestas conscientes del linaje como tratamiento.
- RQ1
¿Se pueden generar genomas semánticos con precisión suficiente para que quien desarrolla los acepte con poca corrección?
- RQ2
¿La herencia a nivel de gen reduce el esfuerzo de mantener descendientes especializados frente a las bifurcaciones convencionales?
- RQ3
¿Pueden los agentes de linaje detectar mejoras reutilizables de río abajo sin aumentar el riesgo de regresión?
- RQ4
¿Un ADN de agente explícito mejora la continuidad cuando un proyecto cambia de proveedor de programación con IA?
- RQ5
¿La procedencia de las mutaciones mejora la confianza de quien desarrolla y la velocidad de depuración?
- RQ6
¿Cómo debería medirse la aptitud sin fomentar la manipulación de métricas ni una optimización insegura?
- RQ7
¿Qué escala de grafo, patrones de consulta y garantías de consistencia hacen falta para millones de proyectos y miles de millones de relaciones entre genes?
- RQ8
¿Cómo pueden interoperar los linajes propietarios y los de código abierto sin filtrar código privado ni datos de personas usuarias?
Límites / 09
Por dónde podría fallar.
La propuesta se enfrenta a problemas conceptuales y de ingeniería reales, y debería empezar como un sistema pragmático de procedencia semántica con abstracciones evolutivas opcionales, no como un intento de meter toda la ingeniería de software en vocabulario biológico.
- 01
Límites ambiguos
Qué cuenta como gen
Los límites semánticos son genuinamente ambiguos, y distintas personas desarrolladoras discreparán sobre dónde termina una capacidad y empieza la siguiente.
- 02
Error de extracción
Un genoma puede estar mal
La extracción de genomas por IA puede alucinar relaciones o inferir mal la intención; por eso la confirmación humana está dentro del MVP y no después de él.
- 03
Cambio entrelazado
No todo se descompone
Muchos cambios reales abarcan varias capacidades a la vez y no se pueden atribuir con limpieza a un solo gen.
- 04
Peso legal y social
La ascendencia es delicada
La procedencia puede dar a entender atribución, propiedad o responsabilidad. Esas implicaciones hay que representarlas con cuidado, no afirmarlas con una arista de grafo.
- 05
Superficie de ataque
Conectar es arriesgar
Un linaje conectado de forma continua crea una exposición de seguridad y un riesgo de privacidad que una bifurcación desconectada sencillamente no tiene.
- 06
Ruido en el grafo
Demasiadas mutaciones
Si cada cambio trivial se registra como mutación, un grafo de linaje grande se vuelve ruido y desaparece la señal que debía llevar.
- 07
Deriva de la metáfora
El software no está vivo
La evolución del software es de ingeniería, guiada por políticas y a menudo discontinua a propósito. La metáfora genética engaña en cuanto se toma al pie de la letra.
Límite de publicación
- 01Estado de la evidencia
- Artículo conceptualUna propuesta escrita y una agenda de investigación. Aquí no se informa de ninguna implementación, medición ni estudio con personas usuarias.
- 02Estado del sistema
- No hay nada funcionandoDetrás de esta ruta no hay motor de linaje, registro de genes, red de agentes, servicio alojado ni datos en vivo.
- 03Adopción
- No es un estándarCodeAncestry no es una especificación aceptada y no afirma adopción, socios, grupo de trabajo ni respaldo alguno.
- 04Nombre
- Título de trabajoEl nombre es provisional. Las comprobaciones de nombre, dominio y marca están pendientes y habría que completarlas antes de cualquier lanzamiento.
Continuar / 10
Un cambio de pregunta, antes que un producto.
El control de versiones pregunta qué líneas cambiaron. La gestión de dependencias, qué paquetes se incluyen. La procedencia, cómo se produjo un artefacto. Un genoma de software añade otra pregunta: ¿qué capacidades significativas se heredaron, mutaron, recombinaron o aprendieron a lo largo de la familia? Esa pregunta se vuelve más difícil de esquivar a medida que los agentes abaratan la producción de descendientes más rápido de lo que las personas pueden seguirlos.
