Puente Padre · 3 de septiembre de 2026 · commit 08c83c6

Auditoría del Puente

La base está mejor hecha de lo que suele estar un proyecto personal de tres semanas. Lo que hoy la limita no son errores: son tres supuestos de «una sola persona» metidos hondo, que conviene sustituir antes —no después— de sumar gente.

Ver cambios y versiones

Cómo leer esto

  • Las palabras con se explican al tocarlas. No hace falta saberlas de antes.
  • Todo lo importante está en castellano llano. Lo que dice «+ Dónde lo vi» se abre solo si quieres ver la prueba; ahí se explica también qué es cada archivo, no solo su nombre. Puedes ignorarlo entero y el documento se entiende igual.
  • Los estados van siempre con símbolo, no solo con color: ✓ bien ! atención × bloqueante
  • Al final hay un diccionario completo con todos los términos del Puente.
  • Esta página tiene dos capas. Las secciones 00–12 son el juicio de este corte; la sección 13 explica el sistema desde sus archivos reales y se regenera. No hay un segundo manual que mantener.

Versión actual · v0.1.2

Cambios y versiones ahora tienen su propio lugar

El historial ya no queda comprimido en esta caja. Cada publicación tiene una nota clara: qué cambió, qué parte de la auditoría afecta y qué sigue pendiente. Así se puede volver a una versión anterior cuando haga falta.

Abrir el changelog completo
Corte históricoedición 1 · 3 de septiembre de 2026
Medido sobrecommit 08c83c6, con 24 archivos sin commitear
Qué está vivola sección 13.9 se vuelve a generar desde el estado durable local
Cuándo rehacerloal cambiar identidad, almacenamiento o acoplamiento a Windows; entonces se publica una nueva edición, no se reescribe esta foto
63/63
reglas del protocolo que una máquina hace cumplir
152
pruebas automáticas en verde, 0 fallas
102
problemas conocidos sin cerrar · 17 críticos
8,0 MB
toda la memoria del Padre en un solo archivo
2
identidades que el sistema sabe nombrar

Estas cifras sostienen el veredicto de este corte; no son un tablero en vivo. Para el estado actual, ve a la sección 13.9.

01

Qué es Puente

Para quien lo ve por primera vez

Puente resuelve un problema concreto: cuando varias IA trabajan en varios proyectos, cada una se inventa su forma de trabajar y nadie sabe quién tocó qué. Puente pone una sola forma de trabajar, en un solo lugar, y obliga a que todos la sigan.

Tres palabras aparecen todo el rato y conviene fijarlas antes de seguir: el son las reglas, la es todo lo que Puente recuerda para no partir de cero, y el es la lista de operaciones que ya sabe hacer. El es donde viven las tres, una sola vez.

EL PADRE · una sola copia Protocolo · 63 reglas Memoria · 283 bloques Catálogo · 71 herramientas Claude Codex leen Proyecto TikTok Maestros Barbers Proyecto C… trabajan en La regla que lo sostiene todo El protocolo nunca se copia dentro de un proyecto. Existe una vez y todos leen esa. Cada proyecto guarda lo suyo en su propia carpeta y no sabe nada de los otros.
Cómo está armado Puente hoy. Esta parte del diseño está bien y no hay que tocarla: es lo que evita que las reglas se dupliquen y se contradigan entre proyectos.

Cuando una IA va a trabajar, Puente la obliga a un ritual: abrir un diciendo qué archivos va a tocar, dejar de lo que hizo, correr los , y que otro lo revise antes de darlo por bueno. Si algo falla, queda una para que no vuelva a pasar.

El mapa: cómo se conecta todo

Este es el modelo completo del sistema. Toca cualquier caja y se apaga lo que no le toca, para que veas solo con qué se conecta esa pieza — y abajo aparece qué es y un ejemplo.

Toca una caja para aislarla · toca fuera para ver todo otra vez
lee las reglas abre reclama contiene produce si algo falla se comprueban con al cerrar produce lo aprueba OTRO solo entonces habilita al arreglarse deja vuelve como candado nuevo si no termina, otro lo retoma EL PADRE protocolo · memoria · catálogo existe una sola vez Agente · Claude o Codex Bloque de trabajo Rutas reclamadas Pasos Evidencia Validadores Registro de cambio Revisión independiente Checkpoint en Git Relevo Cicatriz Hallazgo
Todo el ciclo, de arriba abajo. El Padre da las reglas, el agente abre un bloque, reclama sus archivos, hace pasos que dejan evidencia, los validadores comprueban, y solo un registro aprobado por otro permite guardar. Lo que falla sale por la derecha y vuelve arriba convertido en candado.
El ciclo completo de un trabajo en Puente. Los recuadros con borde grueso son la vía principal; los de la derecha son lo que pasa cuando algo se rompe o queda a medias.

Y en palabras, el mismo recorrido

  1. El agente llega y lee. No empieza a trabajar: primero lee las reglas, qué se hizo antes y qué quedó a medias. Es obligatorio y está automatizado.
  2. Declara qué va a tocar. Antes de escribir una línea dice: «voy a modificar estos archivos». Eso reserva esos archivos para él.
  3. Trabaja en pasos. Cada paso lleva su razón y su prueba. No se puede marcar hecho un paso sin adjuntar qué lo demuestra.
  4. Corre las comprobaciones. Las pruebas automáticas tienen que pasar. Que compile no cuenta como que funcione.
  5. Cierra con un informe. Qué archivos tocó de verdad, con su huella, y qué validadores corrió.
  6. Otro lo aprueba. Quien hizo el trabajo no puede aprobarlo. Esta es la regla que se rompe con equipo, y por eso es el problema 1.
  7. Recién ahí se puede guardar. Un punto de retorno en Git, con los archivos comprobados. Publicar hacia internet sigue siendo otra decisión aparte.

Si en cualquier punto aparece un problema, se anota como aunque no sea parte de la tarea. Y cuando se arregla, deja una : qué falló, cuánto costó, y qué candado impide que vuelva a pasar. Ese candado sube al Padre y desde ahí aplica a todos.

02

El veredicto

La respuesta corta

Sí, la base sirve para crecer. No sirve tal como está para más de una persona. Y la distancia entre esas dos frases es más corta de lo que parece.

Puente ya está diseñado como un sistema para varios: cada anota quién lo hizo y en qué , hay , entre agentes, y una . Ese modelo ya es el de un equipo.

Lo que es «de una sola persona» no es el diseño. Es la implementación de tres piezas concretas, que son las de la sección siguiente. Cambiarlas no es rediseñar Puente: es cambiarle el motor sin tocar el contrato.

Lo que no recomiendo: empezar por el servidor, por el tablero general o por integrar herramientas nuevas. Los tres se apoyan en las tres piezas de abajo. Hacerlos primero significa construirlos dos veces.

03

Los tres problemas de fondo

Lo único que hay que replantear antes de crecer

Los tres funcionan hoy. Los tres dejan de funcionar en cuanto hay una segunda persona. Están en el orden en que hay que resolverlos.

Problema 1 · × bloqueante

El sistema solo sabe dos nombres: «claude» y «codex»

La analogía Es un libro de firmas donde solo existen dos bolígrafos. Da igual cuánta gente entre al edificio: todos los que usan el bolígrafo azul firman «azul». Después, mirando el libro, no puedes saber quién estuvo ahí — y la regla de «nadie revisa su propia entrada» deja de significar nada, porque todos son la misma firma.
HOY Ana Luis "claude" un montón Se pisan los archivos entre ellos y nadie revisa de verdad a nadie CON IDENTIDAD REAL Ana Luis ana + claude + sesión luis + claude + sesión tú + codex + sesión Cada quien responde por lo suyo
Lo único que cambia es que la firma pasa de ser una palabra fija a ser tres datos: persona, herramienta y sesión. Los campos ya existen en cada bloque; solo hay que ensancharlos.

Por qué hoy funciona

Eres una sola persona en un solo computador. «Claude» y «Codex» son de hecho dos procesos distintos, así que cuando uno revisa al otro la revisión es independiente. Funciona por accidente afortunado.

Qué pasa con equipo

Tres compañeros usando Claude son el mismo «claude». Comparten los mismos bloques, reservan los mismos archivos, y «revisión independiente» pasa a significar «otra ventana del mismo nombre». El sistema seguiría diciendo que todo está en orden.

Cómo se arregla

La firma deja de ser una palabra y pasa a ser persona + herramienta + sesión. Para empezar no hace falta ni login: el correo de git config user.email ya es único por persona y ya está en el flujo de trabajo. La regla de revisión independiente pasa a comparar personas, y ahí recupera su sentido.

Por qué va primero: todo lo que se registre mientras la firma siga siendo una palabra queda mal atribuido, y después no se puede repartir honestamente. Cada día que pasa es más historia que arreglar.

Dónde lo vi, y qué es cada cosa

Qué miré: el archivo del motor que decide si acepta o rechaza un nombre. Ahí vive una función —una pieza de código con un solo trabajo— y su trabajo es exactamente ese: mirar el nombre que llega y decir sí o no.

Qué dice: rechaza cualquier nombre que no sea exactamente «codex» o «claude». Nada más existe. El nombre del dueño está reservado a la aplicación de escritorio, no a la terminal — o sea, «ser el dueño» equivale a tener la máquina delante.

La ruta exacta, por si la quieren abrir: src-tauri/src/bridge.rs, línea 3106.

El valor llega como argumento posicional desde la línea de comandos: es una declaración del propio agente, no una identidad verificada. Con un usuario es una convención de disciplina y funciona; con varios pasa a ser una afirmación falsa que el sistema hace con total confianza.

Problema 2 · × bloqueante

Toda la memoria vive en un archivo que se reescribe entero

La analogía Imagina un cuaderno de contabilidad donde, para anotar un gasto de mil pesos, hay que copiar a mano el cuaderno completo con la línea nueva incluida. Con veinte páginas es molesto. Con ochocientas es media hora por anotación. Y si dos personas quieren anotar a la vez, una tiene que esperar a que la otra termine de copiar.
HOY · un documento un cambio lee 8,0 MB un solo archivo reescribe los 8 MB Cada anotación cuesta más que la anterior. Dos personas a la vez: una espera. DESPUÉS · un registro de hechos un cambio agrega + una línea nueva vistas, recalculadas Cada anotación cuesta lo mismo, siempre. Varias personas a la vez, sin esperar. Y queda la historia completa de qué pasó.
El cambio no es de contenido, es de forma de guardar. Encaja casi literal con una regla que Puente ya tiene escrita: «lo derivado se regenera y nunca es autoridad».

Por qué hoy funciona

Con un solo escritor y un solo disco, un archivo es lo más simple que existe: se lee de un tirón, se respalda copiándolo, y se recupera igual. Fue la decisión correcta para empezar.

Qué pasa con equipo

El archivo crece cinco veces más rápido, y cinco escritores compiten por un que además se abre solo a los 30 segundos si cree que el otro se colgó. Ya se nota con una sola persona: una consulta corriente tarda 12 segundos.

Cómo se arregla

En vez de un documento que se reescribe, un al que solo se agregan líneas, más vistas que se calculan a partir de él. El motor concreto es : sigue siendo un archivo, sin servidor ni instalaciones, pero sabe escribir de a poco y aguantar a varios a la vez. Y el mismo diseño funciona igual si mañana ese archivo se muda a un servidor.

Dónde lo vi, y qué es cada cosa

Qué miré: el archivo del motor encargado de guardar y leer. Todo lo que Puente escribe pasa por ahí.

Qué hace: para cambiar cualquier cosa, lee el archivo entero, lo modifica en memoria y lo vuelve a escribir completo. No sabe cambiar solo un pedazo.

Y el cerrojo: mientras uno escribe, deja un cartel de «ocupado». Si el cartel lleva 30 segundos puesto, el siguiente lo arranca y entra igual, sin comprobar si el primero sigue trabajando. Entre programas del mismo disco pasa; sobre una carpeta compartida en red, no.

La ruta exacta: src-tauri/src/storage.rs.

Medición: npm run query -- stats tarda 12 s. El archivo vivo está en 8,0 MB; 246 de los 283 bloques ya están completados y siguen enteros dentro, con su . No hay archivado.

Problema 3 · × bloqueante

El motor solo arranca en Windows

La analogía El solo sabe buscar sus cosas en «el cajón de arriba a la derecha». En tu casa ese cajón existe. En un servidor —que casi siempre es Linux— ese cajón no existe con ese nombre, así que el programa no encuentra nada y ni siquiera arranca.

Lo curioso

La lógica correcta ya está escrita, pero en la mitad equivocada del proyecto: los scripts sueltos sí saben buscar en Windows, Mac y Linux. El motor principal, que es el que importa, no.

Qué significa

Hoy Puente no puede correr en un servidor. No por diseño, sino porque cuatro archivos preguntan por una carpeta que solo existe en Windows y se rinden si no está.

Cómo se arregla

Copiar al motor la misma resolución de rutas que ya usan los scripts. Es de las cosas más baratas de esta lista, y va junto con separar la lógica de negocio del sistema de archivos — que es lo que después convierte «montar un servidor» en un trabajo de días en vez de una reescritura.

Dónde lo vi, y qué es cada cosa

Qué miré: cuatro archivos del motor. Los cuatro empiezan preguntándole a Windows por una carpeta suya —la que Windows llama LOCALAPPDATA— y si no la encuentran, se rinden con un error en vez de buscar en otro sitio.

Las rutas exactas: registry.rs línea 15, parent.rs línea 746, maintenance.rs línea 1080 y proposals.rs línea 44.

Lo curioso: el buscador de la memoria —un programa suelto, no el motor— sí lo hace bien: si no está en Windows, busca en el sitio equivalente de Linux o en el de Mac. Son ocho líneas de código que el motor no tiene.

Y de paso: esas ocho líneas están copiadas en cinco programas distintos. El propio protocolo prohíbe mantener copias de una misma verdad, y aquí hay seis.

04

Lo que está bien

Y que sería un error tocar

Empiezo por lo bueno porque define qué hay que proteger mientras se cambia el resto.

Las reglas no son un texto: son una máquina

Las 63 reglas del protocolo tienen todas un que las hace cumplir, y hay un validador que falla si una regla se queda sin candado. Esto es raro. Casi todos los sistemas de «reglas para trabajar con IA» son un documento que la IA promete leer. Aquí, si una regla no se puede hacer cumplir, el sistema lo reporta como agujero.

Cada proyecto es dueño de lo suyo

El protocolo vive una sola vez y nunca se copia. Cada proyecto guarda su código, su memoria y sus decisiones en su propia carpeta. Eso evita el problema clásico de tener diez copias de las reglas divergiendo entre sí.

El sistema se revisa solo

Un comando revisa 24 condiciones y dice qué herramienta arregla cada falla. Los 102 problemas abiertos no son deuda escondida: son autoconocimiento. El proyecto ya sabe casi todo lo que le falta.

Se probó que se puede recuperar

Está documentado un ensayo real: clonar el proyecto en una máquina limpia y recuperar la memoria completa. No es una promesa, se hizo. Muy pocos proyectos personales tienen esto.

Comprobaciones del corte

# resultados registrados en la edición 1 validate:architecture PASS 188 fuentes · 1 protocolo común · 0 rutas personales validate:criteria healthy 30/30 criterios con anclaje ejecutable test:boundaries 152/152 0 fallas typecheck exit 0
05

Los demás hallazgos

Cosas que ya duelen hoy, con una sola persona

B1

El arranque obligatorio no arranca. El primer comando que toda IA debe correr al empezar hoy se niega, porque la versión de la aplicación no coincide con el código. Se destraba con npm run app:refresh. Lo preocupante es lo que revela: el arranque de todos depende de que un archivo compilado en tu máquina esté al día. Con una persona es un trámite; con varias es un bloqueo que se contagia.

Dónde lo vi, y qué es cada cosa

Cómo lo comprobé: hay un comando que revisa si la versión compilada de la aplicación corresponde al código de ahora. Lo hace comparando huellas: esos códigos cortos que resumen el contenido exacto de un archivo.

Qué respondió: «no alineado». De doce comprobaciones, once en verde y una en rojo: la de la aplicación compilada. Y la huella que debería haber encontrado viene vacía, o sea que el archivo ni siquiera existe. Nunca se terminó de compilar.

B2

El repositorio engorda solo. El pesa 52 MB con apenas 123 guardados. La causa es un archivo de 9,27 MB —la copia de seguridad de la memoria— que se ha guardado 39 veces, y cada vez deja una copia permanente. La intención es buena; el mecanismo no escala. A este ritmo, en un año descargar el proyecto cuesta cientos de megas, y con equipo cada persona lo paga.

Dónde lo vi, y qué es cada cosa

Cómo lo medí: pesé la carpeta oculta donde Git guarda todo el historial del proyecto. Dio 52 MB.

De dónde sale ese peso: la copia de seguridad de la memoria pesa 9,27 MB y está guardada 39 veces. Es cuatro veces más grande que el segundo archivo más pesado del proyecto.

La salida: que deje de guardarse en el historial y pase a ser un archivo aparte, o que viva solo en la rama que ya existe para eso.

B3

El buzón entre agentes solo acumula. Hay 34 pendientes, varios repetidos con el mismo título, y algunos que Codex se mandó a sí mismo. No hay caducidad ni cierre por obsolescencia: entra correo y nunca sale. Con dos nombres ya es ruido; con seis personas es inservible.

B4

El candado que vigila las ediciones tiene una puerta lateral. Solo se activa con dos formas de editar archivos. Si la IA edita desde la terminal —cosa que es normal— no se entera y no dice nada. Lo comprobé en esta misma auditoría: al escribir el informe el candado me detuvo correctamente; por terminal habría pasado sin ruido.

Dónde lo vi, y qué es cada cosa

Qué miré: el archivo donde se configura qué vigila Puente mientras Claude trabaja, y el programa que hace esa vigilancia.

Qué encontré: la configuración solo nombra dos formas de editar archivos. Y el programa vigilante, en su tercera línea útil, dice literalmente «si no es ninguna de esas dos, no opines» y se queda callado. La terminal —que es la tercera forma, y muy usada— cae justo en ese silencio.

Las rutas exactas: .claude/settings.json y scripts/turn-compliance.mjs línea 31.

B5

Dos archivos son la mitad del sistema. Uno tiene 6.945 líneas y el otro 6.284: juntos, el 48% del código del motor. Con una IA a la vez es incómodo. Con dos personas en paralelo garantiza que casi todo cambio choque en el mismo archivo. El propio sistema ya tiene anotada la tarea de partirlos.

B6

La lista de problemas no se puede priorizar. De los 102 abiertos, 93 no dicen de qué tipo son. Existe la clasificación —error, , idea sin construir— y solo la usan 9. Así, «102 problemas, 17 críticos» mezcla bugs reales con ideas pendientes en el mismo número y con la misma alarma. Un equipo que llegue a esta lista no sabrá por dónde entrar.

B7

La culpa se hereda al siguiente. El candado compara el estado actual contra una , y esa foto solo avanza si el turno cierra limpio. Consecuencia: mientras no se resuelva, cada sesión nueva que abras hereda la acusación por ediciones que hizo otro. Pasó en esta auditoría: me acusó de 7 archivos que se tocaron horas antes de que yo empezara. Y es la segunda vez — ya existe un bloque del 2 de septiembre que arregló exactamente esto a mano.

Dónde lo vi, y qué es cada cosa

Cómo lo comprobé: miré la fecha de la foto guardada y la de cada uno de los siete archivos acusados. La foto es de las 22:07 del 2 de septiembre. Los archivos se tocaron entre las 18:43 y las 00:36. Esta sesión empezó a las 03:00, más de dos horas después del último.

Por qué se repite: en el programa vigilante hay una línea que dice «guarda la foto nueva solo si no hubo violaciones». Como la violación no se resuelve, la foto nunca avanza, y el siguiente que llegue vuelve a ser acusado de lo mismo.

La ruta exacta: scripts/turn-compliance.mjs línea 325.

Según el propio protocolo, una clase de fallo que ocurre dos veces debe convertirse en prueba automática.

B8

El candado dice «7» y enseña 6, sin avisar. Al bloquear, el mensaje anuncia el total real pero corta la lista en seis. Quien queda detenido no puede saber cuál es el séptimo archivo, así que no puede arreglarlo: el candado exige una acción y esconde parte de lo que hay que accionar. Ya hay una cicatriz con este mismo patrón en otro sitio del sistema.

Dónde lo vi, y qué es cada cosa

Qué miré: la línea que arma el mensaje de bloqueo.

Qué hace: cuenta cuántos archivos hay en total y anuncia ese número, pero al escribir la lista usa una instrucción que significa «toma los primeros seis y descarta el resto». Y no avisa de que descartó nada.

Por qué importa: el mensaje te exige arreglar siete cosas y te enseña seis. La séptima no hay forma de saber cuál es.

La ruta exacta: scripts/turn-compliance.mjs línea 209.

C1

El que decide qué procedimiento usar vive en una tabla de texto. — vigilar Funciona y está validado, y para 22 filas es la decisión correcta. Deja de serlo cuando lo que se elija dependa del proyecto, del riesgo y del rol — que es justo hacia donde vas.

06

La cuenta del crecimiento

Números medidos, no opinión

Puente lleva 20 días de trabajo registrado, con una persona. En ese tiempo produjo 283 , cada uno guardando una del proyecto. Eso es 14,4 bloques por día y 306 KB de memoria por día. Nada se archiva.

0 30 60 90 120 MB día 0 hoy 6 meses 1 año 8 MB · 20 días · medido ~109 MB · proyectado
Trazo sólido: lo medido. Trazo punteado: la misma pendiente sostenida un año, con una sola persona. No es una predicción de producto — es lo que produce el ritmo de trabajo actual sin archivar nada.

Y aquí está el detalle que convierte «archivo grande» en «muro»: cada anotación reescribe el archivo entero. Cuanto más historia, más cuesta cada cosa que haces.

No hay un momento en que el sistema falle con un error claro. Hay una degradación lenta hasta que abrir un bloque tarda tanto que alguien empieza a saltarse el protocolo. El riesgo real no es la lentitud: es que se abandone la disciplina porque cumplirla cuesta.

Un apunte sobre el ritmo. 283 bloques en 20 días es muchísimo, y explica tanto la calidad del sistema como su acumulación: 34 relevos sin drenar, 93 problemas sin clasificar, 52 vencidos. Antes de sumar gente vale la pena bajar el ritmo de producción y subir el de cierre — porque un equipo hereda la cola, no la velocidad.

07

El servidor

Qué falta de verdad para dejar de depender de tu PC

Sí se puede, pero no como la gente lo imagina. Puente no solo guarda cosas: también corre sobre archivos reales y hace guardados en . Un servidor no tiene el código de nadie en su disco. Así que el reparto honesto es a medias.

EN EL SERVIDOR · La memoria de todos · Quién es quién · Bloques, problemas, relevos · El catálogo de herramientas · El tablero general memoria y coordinación reserva archivos sube evidencia EN CADA MÁQUINA · El código de verdad · Las pruebas que se corren · Git y los guardados · La IA que edita trabajo sobre archivos Este reparto ya está en el protocolo: «el Padre entrega la herramienta y el hijo la hereda».
El servidor es el Padre. La máquina es donde se trabaja. Ninguna de las dos mitades puede hacer sola el trabajo de la otra.
Supuesto de hoyQué exige un servidorCosto
La memoria vive en una carpeta de WindowsQue sepa buscarla en cualquier sistema✓ bajo
Un archivo que se reescribe enteroUna base de datos de verdad! medio
La IA dice quién es y se le creeQue el servidor decida quién eres, no el cliente! medio
«Ser el dueño» = tener la máquinaUna sesión con permisos! medio
Git y las pruebas corren en tu discoAlguien con acceso al código real que las corra× alto

Cuándo hacerlo: el servidor no es el paso siguiente, es el cuarto. Hacerlo antes de arreglar la identidad y la forma de guardar significa construirlo sobre las dos cosas que hay que reemplazar. Y para un equipo pequeño no hace falta: con identidad real y el repositorio compartido, dos o tres personas ya pueden trabajar.

08

Herramientas por proyecto

Lo que pediste ya está a medio construir

Esta fue la sorpresa agradable. Lo que describiste —«que las herramientas cambien según el proyecto o según lo que estemos haciendo»— ya existe en buena parte, repartido en tres piezas que todavía no se hablan entre sí.

  1. El catálogo. 71 herramientas registradas, cada una con cuándo usarla, qué procedimiento sigue, qué validador la comprueba y quién la revisa. Le falta que el alcance sea por proyecto y no solo «Padre o Proyecto».
  2. Un motor de reglas que ya funciona. Hay un archivo que decide qué comprobar según qué carpetas tocaste, qué capacidad usaste y qué riesgo tiene. Eso ya es enrutamiento condicional. Hoy solo enruta validadores; la misma forma sirve para cualquier herramienta.
  3. Declaración por proyecto. Cada proyecto ya declara sus propias comprobaciones en su archivo de configuración. Ya es «herramientas distintas por proyecto», limitado a validación.

Falta un puente entre las tres, no un sistema nuevo. Generalizar «perfiles de validación» a «perfiles de herramientas» y dejar que las reglas existentes resuelvan también herramientas te da exactamente lo que pediste, con código que ya existe y ya está probado. Estimación honesta: una tarde de diseño y unos días de trabajo, no un proyecto.

Las herramientas externas: no las integres una por una

Encontraste muchas aplicaciones. La respuesta correcta no es escribir un conector para cada una: es hablar un solo idioma y dejar que se enchufen. Ese idioma es , y ya lo usas — Claude y Codex son clientes MCP.

El patrón se llama gateway con conjuntos de herramientas por proyecto: un único punto que agrupa herramientas y le muestra a cada IA solo las que ese proyecto tiene permitidas. Ya está implementado por otros: el MCP Gateway de Microsoft, el mcp-gateway-registry y una lista comparada. Puente no debería ser el gateway: debería decidir qué conjunto corresponde y delegar en uno.

Un matiz: no todas las herramientas merecen enrutamiento. Antes de construir el mecanismo, escribe la lista concreta de «en el proyecto X quiero que la IA pueda hacer Y». Si tiene tres filas, el mecanismo es un campo en un archivo. Si tiene treinta, ahí sí vale el motor.

09

Ver todo el sistema

Tablero, grafo, memoria — y qué es «Coteis Memory MSP»

El grafo ya lo construyeron ayer

Existe un generador de diagramas, con su procedimiento y sus pruebas, que dibuja cuatro vistas sacadas de la memoria real: el flujo completo, un bloque paso a paso, los archivos que dos trabajos se disputan, y qué regla aplica al Padre y cuál al hijo. Respeta la regla correcta —un dibujo es , se regenera entero, no se guarda en el repositorio. Está bien hecho. Ciérralo y quédatelo.

«Coteis Memory MSP»

No existe un producto con ese nombre exacto. Casi seguro es uno de estos tres, y «MSP» es :

  • Cognee — el más probable por el sonido y por lo que describes. Construye un grafo de conocimiento propio a partir de documentos y sesiones. Tiene servidor MCP y complemento oficial para Claude Code.
  • Graphiti / Zep — grafo con fechas: cada dato guarda desde cuándo fue cierto.
  • El servidor «Memory» de referencia de MCP — mucho más simple que los otros dos.

Mi recomendación, que quizá no es la que esperas

No metas todavía una memoria externa. Y la razón sale de tu propio protocolo: «nunca conviven dos verdades vigentes para el mismo tema».

Puente ya tiene memoria organizada y con dueño claro: decisiones, cicatrices, criterios, problemas, inventario. Un grafo externo que se coma todo eso se convierte en una segunda copia que envejece — justo lo que el sistema está hecho para prohibir. Y peor: es una copia que parece autoridad porque contesta preguntas con seguridad.

Lo que sí encaja es usarlo como vista de solo lectura: derivada, regenerable, que nadie puede citar como fuente. Misma categoría que el grafo que ya tienes. Cuando buscar entre 300 bloques deje de resolverse con el buscador actual, esa es la señal — y para entonces ya tendrás el registro de hechos que lo alimenta limpio.

El tablero que falta no es el que crees

Ya hay un tablero del Padre y uno por proyecto. Lo que no existe es la vista de todo a la vez: los N proyectos, quién trabaja en qué ahora, qué está trabado, dónde se acumula riesgo.

Dos avisos, porque son las dos formas de arruinarlo: (1) un tablero es una vista derivada — si necesita cálculos que solo él sabe hacer, ya se volvió una segunda verdad; todo lo que muestre debe salir de una consulta que también responda la terminal. (2) Es lo primero que un equipo mira cada mañana, así que es donde más importa que los nombres sean reales — otra razón para arreglar la identidad primero.

10

Construir o integrar

Dónde vale la pena que Puente sea propio

El criterio: construye lo que es tu diferencia; integra lo que ya está resuelto y es aburrido.

PiezaVeredictoPor qué
Las reglas con candado✓ mantenerEs la diferencia. No hay equivalente comercial.
La trazabilidad del trabajo✓ mantenerMás específico que cualquier herramienta genérica.
Las cicatrices✓ mantenerBarato, funciona, nadie lo hace igual.
La forma de guardar la memoria× reemplazarSQLite. El modelo se conserva; solo cambia el motor.
Saber quién es quién× no construirEmpieza por el correo de Git; si llega el , un proveedor estándar. Nunca escribas propia.
Sincronizar entre máquinas✓ mantenerGit ya lo hace y está bien usado. No construyas otro canal.
Herramientas por proyecto! extenderYa está a medias. Barato y coherente.
Herramientas externas! integrarMCP y un gateway. Un conector por aplicación no escala.
Motor de políticas— esperarOPA es el estándar, pero caro y solo se justifica con más gente y auditoría externa.
Grafo / memoria semántica— esperarComo vista derivada, nunca como fuente. Y no todavía.
La aplicación de escritorio✓ mantenerElección correcta. Si llega el servidor, se vuelve cliente.
Firma para repartir en Windows! resolverEs un trámite y un gasto, no ingeniería. Bloquea repartir al equipo.
11

El plan

Ordenado por dependencia, no por facilidad

Cada paso desbloquea el siguiente. Saltarse el orden significa hacer el trabajo dos veces.

Ahora

Ordenar la casa

Destrabar el arranque. Clasificar los 93 problemas sin tipo: separar error de deuda de idea. Drenar o caducar los 34 relevos. Cerrar los bloques abandonados. Sin esto, nadie nuevo puede entrar.

días
Después

Sacar la copia grande del historial

Que deje de guardarse en cada cierre. Es la única de la lista que se abarata cuanto antes se haga.

días
Base 1

Identidad real

Persona + herramienta + sesión. La revisión independiente compara personas. Todo lo que se registre desde aquí es historia limpia.

1–2 semanas
Base 2

Cambiar la forma de guardar

Registro de hechos sobre SQLite. Resuelve tamaño, concurrencia, conflictos y velocidad de un golpe. Las pruebas que ya existen son el candado que demuestra que no se rompió nada.

3–5 semanas
Base 3

Separar la lógica de la máquina

Sacar el corazón del sistema a una pieza que no toque archivos. Corta de paso los dos monstruos de 6.000 líneas y quita la atadura a Windows. Aquí es donde deja de depender de tu PC.

3–4 semanas
Producto

Herramientas por proyecto y gateway

Conectar las tres piezas que ya existen y delegar lo externo. Se puede hacer en paralelo.

2–3 semanas
Opcional

El servidor

Solo si el equipo lo necesita. Con las tres bases hechas es un trabajo acotado. Sin ellas, una reescritura.

meses
12

Tus preguntas

Respuesta directa a cada una

¿Está bien estructurado?
Sí en el diseño; a medias en la implementación. Dos archivos son el 48% del código y la memoria vive en un solo documento.
¿Hay errores importantes que no vemos?
De código, pocos: las pruebas pasan. Lo que no se ve son tres supuestos de arquitectura que hoy funcionan y dejan de ser ciertos con una segunda persona.
¿Qué está bien ahora y será problema al crecer?
El archivo de memoria, el buzón que solo acumula, y que destrabar a alguien dependa de que tengas la máquina.
¿La arquitectura sirve para seguir?
Sí. Hay que cambiar el motor, no el modelo.
¿Podemos pasar a equipo?
Sí. El modelo ya está diseñado para eso; falta que la identidad sea un dato y no una palabra fija.
¿Cuál es la forma más eficiente?
En orden: identidad → forma de guardar → separar la lógica. Nada de servidor hasta tener las tres.
¿Podría correr en un servidor?
Sí, pero a medias: memoria y coordinación en el servidor; pruebas y Git en cada máquina.
¿Cómo manejar varios proyectos?
Ya está resuelto y bien. No hay que tocarlo.
¿Herramientas distintas por proyecto?
Sí, y ya lo hace en parte. Generalizarlo es coherente con lo que existe.
¿Reglas de enrutamiento?
Ya las tienes. Falta conectarlas al proyecto. No inventes un lenguaje nuevo.
¿Cómo tener visión general?
Falta la vista del conjunto, no otra del Padre. Y debe ser derivada de lo que la terminal ya responde.
¿Tablero, grafo, memoria o índice?
Tablero sí, después de la identidad. Grafo ya lo tienes: ciérralo. Memoria externa todavía no.
¿Qué aprovechar de fuera?
SQLite. Git (ya). MCP y un gateway. Un proveedor de identidad si llega el servidor.
¿Qué mantener igual?
El protocolo y sus candados. La separación de dueños. Las cicatrices. Las pruebas. El grafo. La app de escritorio.
¿Qué mejorar?
Partir los dos archivos gigantes. Clasificar los problemas. Drenar los relevos. Cerrar el hueco del candado. Unificar las seis copias de la misma función. Sacar la copia grande del historial.
¿Qué replantear antes de crecer?
Solo tres: identidad, forma de guardar, y la atadura a Windows. Lo demás puede esperar; estas tres no, porque cada día acumulan más historia encima.
13

La referencia completa

Cómo funciona el sistema, leído de los archivos reales

Esta parte no está escrita: se genera. Todo lo que sigue sale de los archivos del proyecto cada vez que se corre node scripts/puente-manual.mjs. Si mañana cambias una regla del protocolo, aquí aparece sola. Nadie la edita a mano — si alguien lo hace, la siguiente regeneración borra ese cambio, y con razón: sería una segunda verdad.

Lo de arriba es distinto: es un juicio con fecha, escrito a mano, y no se regenera. Arriba se opina; aquí se describe.

Nueve subsecciones. Las tres primeras tienen buscador porque son largas.

64
reglas con candado
71
capacidades
31
criterios
19
superficies
22
tareas enrutadas
13.1

Las 64 reglas

Cada una con la frase textual del protocolo que la origina

generado desde protocols/core/rule-coverage.json

Una regla en Puente no es una recomendación: cada una tiene un candado que la hace cumplir. Aquí ves qué dice, de dónde sale literalmente, qué la despierta, quién la aplica y qué ocurre si se rompe.

exige

Editar fuente exige bloque y rutas reclamadas

Antes de editar se abre un bloque con responsable y rutas relativas.
cuándoal source-edit y source-change-requested
qué obligaclaimed-work-block
la activanwork.open-parent work.open-project work.close-parent work.close-project
quién la aplicaaudit.parent como precondition
si fallablock
exige

Un método repetido debe tener vía canónica

Un método repetido por segunda vez se pavimenta como herramienta o procedimiento
cuándoal repeated-operation y method-repeated
qué obligacanonical-capability
la activantools.catalog route.task
quién la aplicavalidation.rules-parent como derived
si fallablock
exige

Un error corregido exige cicatriz durable

Un bug corregido deja una cicatriz: síntoma, costo y candado.
cuándoal critical-finding-close y finding-corrected
qué obligadurable-scar
la activanmemory.scar-parent finding.close-parent work.close-parent
quién la aplicaaudit.parent como precondition
si fallablock
prohíbe

Hallazgo incompleto no permite cerrar trabajo

Un hallazgo sin título, descripción o evidencia queda en cuarentena.
cuándoal work-close y finding-incomplete
qué obligaclose-or-checkpoint
la activanfinding.add-parent work.close-parent checkpoint.parent
quién la aplicaaudit.parent como precondition
si fallablock
exige

El riesgo se deriva de las rutas y el alcance

El riesgo de un bloque se deriva del catálogo desde sus rutas reclamadas y su alcance.
cuándoal work-open y paths-claimed
qué obligaderived-risk
la activanwork.open-parent work.open-project
quién la aplicaaudit.parent como derived
si fallablock
exige

Toda superficie exige validación derivada y ejecutable

Puente no reduce un proyecto a una etiqueta única. Deriva una composición de superficies
cuándoal project-close y surface-affected
qué obligaderived-validator
la activanvalidation.profile-set-project validation.run-project work.close-project
quién la aplicavalidation.run-project como derived
si fallablock
prohíbe

Una superficie sin cobertura detiene la preparación

Si falta un validador clasificado, la siguiente acción es preparar
cuándoal project-readiness y surface-uncovered
qué obligaready-claim
la activancontext.brief-project validation.profile-set-project work.close-project
quién la aplicavalidation.profile-set-project como precondition
si fallablock
prohíbe

Un validador no se debilita sólo para quedar verde

Nunca se afloja un validador para ponerlo verde
cuándoal validator-change y validator-fails
qué obligasilent-weaken
la activanvalidation.run-parent validation.run-project review.change-parent
quién la aplicavalidation.rules-parent como trail
si fallablock
prohíbe

El runtime y el protocolo deben permanecer alineados

La versión de la aplicación y la del protocolo son autoridades distintas
cuándoal parent-work y runtime-misaligned
qué obligavalidated-close
la activanruntime.check-parent context.startup-parent work.close-parent
quién la aplicaruntime.check-parent como precondition
si fallablock
prohíbe

La promoción del protocolo protege trabajo hijo abierto

si un proyecto registrado tiene un bloque activo o bloqueado, la actualización no procede
cuándoal protocol-promote y child-work-open
qué obligacontract-change
la activanprotocol.change-guard app.refresh-parent-release
quién la aplicaprotocol.change-guard como precondition
si fallablock
prohíbe

Los secretos requieren detector universal real

No se imprimen, copian ni guardan secretos en inventarios, evidencia, logs o Git.
cuándoal work-close y secret-present
qué obligaclose-or-checkpoint
la activanwork.close-parent work.close-project inventory.scan-project
quién la aplicavalidation.rules-parent como precondition
si fallablock
exige

El arranque exige fuente y estado durable

La fuente y el estado durable mandan sobre la me
cuándoal session-start y durable-state-available
qué obligadurable-source-context
la activancontext.startup-parent context.startup-project
quién la aplicacontext.startup-parent como precondition
si fallablock
exige

Lee el adaptador del agente, esta versión del protocolo, el nodo y la memoria del proyecto activ

Lee el adaptador del agente, esta versión del pr
cuándoal session-start y project-active
qué obligaadapter-protocol-node-memory
la activancontext.startup-parent context.startup-project adapters.check-project
quién la aplicacontext.startup-project como precondition
si fallablock
exige

Comprueba el estado real y los últimos cambios antes de asumir dónde quedó otro agente.

Comprueba el estado real y los últimos cambios a
cuándoal work-resume y prior-agent-state
qué obligaverified-durable-state
la activancontext.startup-parent context.startup-project query.state
quién la aplicacontext.startup-parent como derived
si fallablock
exige

Clasifica la tarea y entra por el enrutador de procedimientos. Lee solo lo que corresponda.

Clasifica la tarea y entra por el enrutador de p
cuándoal task-start y task-received
qué obligacanonical-route
la activanroute.task context.brief-parent context.brief-project
quién la aplicaroute.task como precondition
si fallablock
prohíbe

Si una tarea repetible no tiene procedimiento, créalo antes de declarar terminado el trabajo.

Si una tarea repetible no tiene procedimiento, c
cuándoal repeatable-task-close y canonical-route-absent
qué obligaunprocedured-completion
la activanroute.task tools.catalog work.close-parent work.close-project
quién la aplicatools.catalog como precondition
si fallablock
prohíbe

Antes de editar, deriva un brief de tarea desde la fuente durable: resultado humano, autoridad,

Antes de editar, deriva un brief de tarea desde
cuándoal source-edit y task-brief-missing
qué obligaunbriefed-edit
la activancontext.brief-parent context.brief-project work.open-parent work.open-project
quién la aplicavalidation.rules-runtime como precondition
si fallablock
exige

Explica en español llano qué se hará, qué cambia y qué riesgo real existe.

Explica en español llano qué se hará, qué cambia
cuándoal owner-report y work-status-communicated
qué obligaplain-spanish-outcome-risk
la activanreport.owner report.parent report.project
quién la aplicareport.owner como trail
si fallablock
prohíbe

No supongas permiso para publicar, instalar, borrar, sobrescribir, forzar historial ni tocar pro

No supongas permiso para publicar, instalar, bor
cuándoal material-side-effect y owner-authority-missing
qué obligaunapproved-mutation
la activancontext.brief-parent context.brief-project checkpoint.parent checkpoint.project app.refresh-parent-release
quién la aplicavalidation.rules-runtime como precondition
si fallablock
exige

Cuando debas detenerte, explica qué quieres hacer, qué ocurre si se hace, qué ocurre si no se ha

Cuando debas detenerte, explica qué quieres hace
cuándoal owner-decision-request y work-must-stop
qué obligaconsequence-and-question
la activanreport.owner handoff.leave-parent
quién la aplicareport.owner como trail
si fallablock
exige

Un hallazgo se comunica cuando aparece, aunque no pertenezca al plan original.

Un hallazgo se comunica cuando aparece, aunque n
cuándoal anomaly-observed y finding-outside-plan
qué obligadurable-finding
la activanfinding.add-parent proposal.add-project audit.self
quién la aplicafinding.add-parent como trail
si fallablock
exige

Una cosa, una autoridad y una ubicación conocida.

Una cosa, una autoridad y una ubicación conocida
cuándoal authority-resolution y domain-requested
qué obligasingle-known-authority
la activanquery.domain-authorities route.task
quién la aplicaquery.domain-authorities como derived
si fallablock
exige

Codex, Claude y cualquier otro agente trabajan sobre el mismo workspace físico del proyecto; nun

Codex, Claude y cualquier otro agente trabajan s
cuándoal agent-workspace-open y project-active
qué obligaregistered-physical-workspace
la activancontext.startup-project runtime.check-parent adapters.check-project
quién la aplicacontext.startup-project como derived
si fallablock
prohíbe

Reutiliza antes de crear. No mantengas copias de una misma verdad.

Reutiliza antes de crear. No mantengas copias de
cuándoal method-create y canonical-capability-exists
qué obligaduplicate-authority
la activantools.catalog query.domain-authorities route.task
quién la aplicatools.catalog como precondition
si fallablock
exige

Código, memoria, inventario, secretos, derivados y respaldos tienen dueños distintos.

Código, memoria, inventario, secretos, derivados
cuándoal state-write y domain-known
qué obligadomain-authority
la activanquery.domain-authorities inventory.scan-project memory.decision-project checkpoint.project
quién la aplicaquery.domain-authorities como derived
si fallablock
exige

Si se reemplaza un método, el anterior queda registrado como histórico y apunta al vigente.

Si se reemplaza un método, el anterior queda reg
cuándoal method-replace y prior-method-exists
qué obligahistorical-successor-link
la activantrace.provenance memory.decision-parent memory.decision-project
quién la aplicatrace.provenance como trail
si fallablock
exige

Cada carpeta tiene una responsabilidad y se registra en el índice de su padre.

Cada carpeta tiene una responsabilidad y se regi
cuándoal directory-create y directory-authoritative
qué obligaparent-inventory-entry
la activaninventory.scan-project inventory.reconcile-project query.domain-authorities
quién la aplicainventory.reconcile-project como trail
si fallablock
exige

Un trabajo incompleto se escribe como pendiente con su bloqueo; no queda solo en el chat.

Un trabajo incompleto se escribe como pendiente
cuándoal unfinished-work-leave y step-incomplete
qué obligadurable-pending-blocker
la activanroute.status-parent handoff.leave-parent work.step-parent work.close-project
quién la aplicaroute.status-parent como trail
si fallablock
exige

Una excepción local nunca se vuelve permiso permanente por olvido: declara alcance, motivo, ries

Una excepción local nunca se vuelve permiso perm
cuándoal local-exception-use y exception-active
qué obligascoped-expiring-record
la activanaudit.self context.brief-project work.close-project
quién la aplicaaudit.self como precondition
si fallablock
prohíbe

Antes de planear se audita la realidad. Los números, rutas y estados citados se verifican.

Antes de planear se audita la realidad. Los núme
cuándoal work-plan y state-unverified
qué obligaassumption-based-plan
la activanaudit.self audit.parent context.brief-parent context.brief-project
quién la aplicaaudit.self como precondition
si fallablock
exige

Los planes se ordenan por dependencia y distinguen lo simple, lo costoso y lo riesgoso.

Los planes se ordenan por dependencia y distingu
cuándoal work-plan y multiple-steps
qué obligadependency-risk-order
la activancontext.brief-parent context.brief-project work.open-parent work.open-project
quién la aplicavalidation.rules-runtime como derived
si fallablock
prohíbe

Un plan vive en estado durable del proyecto, se retoma antes de abrir otro y registra su ruta.

Un plan vive en estado durable del proyecto, se
cuándoal work-plan-open y prior-plan-active
qué obligaparallel-undurable-plan
la activanwork.open-project route.status-parent context.startup-project
quién la aplicacontext.startup-project como precondition
si fallablock
exige

Las rutas guardadas son relativas y portables. La raíz se mantiene corta y no se hardcodean usua

Las rutas guardadas son relativas y portables. L
cuándoal durable-path-write y path-recorded
qué obligarelative-portable-path
la activanwork.open-parent work.open-project audit.parent audit.self
quién la aplicaaudit.parent como precondition
si fallablock
exige

Los criterios profesionales ya presentes en la fuente se aplican sin que el dueño tenga que repe

Los criterios profesionales ya presentes en la f
cuándoal task-execution y criterion-applicable
qué obligacriterion-proof
la activancontext.brief-parent context.brief-project criteria.attest-parent criteria.attest-project
quién la aplicavalidation.rules-runtime como precondition
si fallablock
exige

La iniciativa cubre inspeccionar, diseñar la estructura, implementar un cambio acotado, reutiliz

La iniciativa cubre inspeccionar, diseñar la est
cuándoal task-scope-derive y owner-objective-known
qué obligaauthorized-scope-boundary
la activancontext.brief-parent context.brief-project work.open-parent work.open-project
quién la aplicavalidation.rules-runtime como derived
si fallablock
exige

Una corrección del dueño no se trata sólo como un parche de la tarea actual: identifica el crite

Una corrección del dueño no se trata sólo como u
cuándoal owner-correction y criterion-omitted
qué obligadurable-future-guard
la activanmemory.criterion-parent memory.criterion-project finding.add-parent
quién la aplicamemory.criterion-parent como trail
si fallablock
exige

Mientras un bloque siga abierto actualiza su señal de vida, porcentaje y siguiente resumen. Un b

Mientras un bloque siga abierto actualiza su señ
cuándoal active-work-progress y block-open
qué obligafresh-heartbeat-progress-next
la activanroute.status-parent work.step-parent work.extend-checklist-parent
quién la aplicaroute.status-parent como trail
si fallablock
exige

Un bloque con señal vencida no cambia de dueño en silencio. La interfaz local puede autorizar un

Un bloque con señal vencida no cambia de dueño e
cuándoal stale-block-resume y new-agent-session
qué obligaauthorized-durable-handoff
la activanhandoff.leave-parent handoff.accept-parent route.status-parent
quién la aplicahandoff.accept-parent como precondition
si fallablock
prohíbe

Quien ejecuta no aprueba su propio registro: la revisión independiente conserva su veredicto, co

Quien ejecuta no aprueba su propio registro: la
cuándoal change-review y reviewer-participated
qué obligaself-approval
la activanreview.change-parent review.project work.close-parent
quién la aplicareview.change-parent como precondition
si fallablock
exige

Todo hallazgo nace con una fecha de revisión derivada de su urgencia: P0 un día, P1 siete días,

Todo hallazgo nace con una fecha de revisión der
cuándoal finding-create y priority-known
qué obligaderived-review-date
la activanfinding.add-parent audit.parent audit.self
quién la aplicafinding.add-parent como derived
si fallablock
exige

Al cambiar de chat se entrega estado durable: commit, bloque, hallazgos y siguiente acción.

Al cambiar de chat se entrega estado durable: co
cuándoal chat-change y work-open
qué obligadurable-handoff-state
la activanhandoff.leave-parent context.startup-parent context.startup-project
quién la aplicahandoff.leave-parent como trail
si fallablock
prohíbe

Un chat atiende un bloque de trabajo. Al cerrarlo validado y respaldado, se inicia otro desde el

Un chat atiende un bloque de trabajo. Al cerrarl
cuándoal next-work-start y prior-block-open
qué obligaaccumulated-chat-work
la activanwork.close-parent work.close-project handoff.leave-parent
quién la aplicawork.close-parent como precondition
si fallablock
prohíbe

El Padre puede leer y validar contratos, pero no inventa ni reemplaza hechos locales.

El Padre puede leer y validar contratos, pero no
cuándoal project-fact-write y local-evidence-absent
qué obligainvented-project-fact
la activancontext.brief-project inventory.scan-project inventory.reconcile-project
quién la aplicainventory.reconcile-project como precondition
si fallablock
exige

Toda modificación importante es diagnosticable, validada y reversible.

Toda modificación importante es diagnosticable,
cuándoal important-change-close y change-material
qué obligatrace-validation-rollback
la activantrace.provenance validation.run-parent validation.run-project checkpoint.parent checkpoint.project
quién la aplicatrace.provenance como trail
si fallablock
prohíbe

Un resultado no está cerrado hasta que pasa su validador correspondiente.

Un resultado no está cerrado hasta que pasa su v
cuándoal work-close y validator-not-passed
qué obligaunvalidated-result
la activanvalidation.run-parent validation.run-project work.close-parent work.close-project
quién la aplicavalidation.run-parent como precondition
si fallablock
exige

Una interfaz visible no se confirma por procesos, títulos ni handles. Se comprueba lo que el due

Una interfaz visible no se confirma por procesos
cuándoal visible-interface-verify y surface-visible
qué obligarendered-owner-visible-evidence
la activandesign.surface validation.profile-set-project validation.run-project
quién la aplicavalidation.run-project como precondition
si fallablock
prohíbe

Compilar no equivale a probar. Cada sistema nuevo nace con un validador que ataca su contrato.

Compilar no equivale a probar. Cada sistema nuev
cuándoal new-system-close y only-build-passed
qué obligauntested-contract
la activanvalidation.rules-parent validation.run-parent validation.run-project
quién la aplicavalidation.rules-parent como precondition
si fallablock
prohíbe

Los validadores prueban entradas realistas y sucias: duplicados, desorden, ausencias, límites y

Los validadores prueban entradas realistas y suc
cuándoal validator-accept y adversarial-cases-absent
qué obligahappy-path-only-validation
la activanvalidation.rules-parent validation.run-parent validation.run-project review.change-parent
quién la aplicavalidation.rules-parent como precondition
si fallablock
prohíbe

Git es respaldo durable del proyecto, no transporte silencioso: Puente avisa cuándo conviene un

Git es respaldo durable del proyecto, no transpo
cuándoal git-checkpoint y owner-or-valid-record-missing
qué obligasilent-or-stale-checkpoint
la activancheckpoint.parent checkpoint.project checkpoint.reconcile-history-parent
quién la aplicacheckpoint.parent como precondition
si fallablock
prohíbe

Una tanda de validación corta al primer resultado que ya decide el veredicto

Las tareas independientes se ejecutan en paralel
cuándoal validation-batch-continuation y deciding-failure-still-standing
qué obliganext-validator-in-the-batch
la activanvalidation.run-parent validation.run-project
quién la aplicavalidation.run-parent como precondition
si fallablock
prohíbe

Fixtures, copias e índices no se rehacen sobre el mismo estado reclamado

Fixtures, copias e índices se preparan una sola
cuándoal validator-re-execution y claimed-state-unchanged-since-a-passing-run
qué obligaidentical-command-repetition
la activanvalidation.run-parent validation.run-project
quién la aplicavalidation.run-parent como precondition
si fallablock
exige

Si un proceso mecánico seguirá tardando, se informa la estimación antes de lanzarlo.

Si un proceso mecánico seguirá tardando, se info
cuándoal long-process-start y mechanical-wait-expected
qué obligaowner-time-estimate
la activanreport.owner route.status-parent
quién la aplicareport.owner como trail
si fallablock
prohíbe

Ordenar no significa leer todo: el enrutador reduce contexto y evita redescubrir el proyecto.

Ordenar no significa leer todo: el enrutador red
cuándoal task-context-load y route-known
qué obligaunbounded-context-read
la activanroute.task query.domain-authorities context.brief-parent context.brief-project
quién la aplicaroute.task como derived
si fallablock
exige

Un aprendizaje local vive en el proyecto.

Un aprendizaje local vive en el proyecto.
cuándoal local-learning-record y project-specific-learning
qué obligaproject-memory
la activanmemory.criterion-project memory.decision-project memory.scar-project
quién la aplicamemory.criterion-project como trail
si fallablock
prohíbe

Un aprendizaje nace de evidencia: la corrección o recurrencia se registra en el nivel que le cor

Un aprendizaje nace de evidencia: la corrección
cuándoal learning-record y evidence-absent
qué obligachat-only-promise
la activanmemory.criterion-parent memory.criterion-project memory.scar-parent memory.scar-project
quién la aplicamemory.criterion-parent como trail
si fallablock
exige

Si una forma de trabajo se repite por segunda vez, se convierte en un módulo, herramienta, proce

Si una forma de trabajo se repite por segunda ve
cuándoal repeated-local-method y method-repeated
qué obligalocal-canonical-tool
la activantools.catalog route.task memory.criterion-project
quién la aplicatools.catalog como derived
si fallablock
exige

Una mejora útil para cualquier proyecto se propone al Padre con evidencia.

Una mejora útil para cualquier proyecto se propo
cuándoal universal-improvement-observed y project-evidence-exists
qué obligaparent-proposal
la activanproposal.add-project finding.add-parent
quién la aplicaproposal.add-project como trail
si fallablock
prohíbe

Solo una versión publicada por el Padre se vuelve universal.

Solo una versión publicada por el Padre se vuelv
cuándoal universal-rule-consume y parent-release-missing
qué obligaunpublished-universal-version
la activanprotocol.change-guard app.refresh-parent-release runtime.check-parent
quién la aplicaruntime.check-parent como precondition
si fallablock
prohíbe

Una regla universal no puede contener nombres, rutas, inventario ni excepciones de un proyecto.

Una regla universal no puede contener nombres, r
cuándoal universal-rule-write y project-specific-data-present
qué obligalocal-fact-in-parent-rule
la activanvalidation.rules-parent protocol.change-guard review.change-parent
quién la aplicavalidation.rules-parent como precondition
si fallablock
prohíbe

La documentación desactualizada se corrige o se marca histórica; nunca conviven dos verdades vig

La documentación desactualizada se corrige o se
cuándoal work-close y documentation-stale
qué obligadual-current-truth
la activanvalidation.rules-parent inventory.reconcile-project work.close-parent work.close-project
quién la aplicavalidation.rules-parent como precondition
si fallablock
prohíbe

Ejecuta el validador correspondiente y conserva el resultado real.

Ejecuta el validador correspondiente y conserva
cuándoal work-close y validation-evidence-missing
qué obligaunevidenced-close
la activanvalidation.run-parent validation.run-project work.close-parent work.close-project
quién la aplicavalidation.run-parent como trail
si fallablock
prohíbe

Confirma que procedimiento, documentación, inventario y estado durable no quedaron mintiendo.

Confirma que procedimiento, documentación, inven
cuándoal work-close y durable-authority-inconsistent
qué obligalying-state-close
la activanaudit.parent audit.self inventory.reconcile-project work.close-parent work.close-project
quién la aplicaaudit.parent como precondition
si fallablock
exige

Registra hallazgos y pendientes que sigan abiertos.

Registra hallazgos y pendientes que sigan abiert
cuándoal work-close y known-open-issue
qué obligadurable-finding-or-pending
la activanfinding.add-parent route.status-parent handoff.leave-parent work.close-parent
quién la aplicafinding.add-parent como trail
si fallablock
exige

Entrega un Resumen llano: qué quedó hecho, qué falta y qué riesgo real permanece.

Entrega un Resumen llano: qué quedó hecho, qué f
cuándoal work-report y task-finished-or-stopped
qué obligaplain-done-missing-risk-summary
la activanreport.owner report.parent report.project
quién la aplicareport.owner como trail
si fallablock
13.2

Las 71 capacidades

Lo que el sistema ya sabe hacer, para no inventar una variante

generado desde protocols/core/capabilities.json

Antes de escribir un método nuevo para algo repetible, la pregunta es si ya existe. Estas son todas las operaciones con forma canónica: su comando exacto, el procedimiento que la explica, el validador que la comprueba y quién tiene que revisarla.

parent

Informar al dueno sobre el Padre

terminas trabajo sobre la fuente de Puente

puente-agent parent-report
procedimientodocs/procedures/report-to-owner.md
validadorpuente-agent parent-report
quién revisanadie
project

Informar al dueno desde cualquier proyecto

terminas trabajo en un proyecto hijo y tienes que decirle al dueno como quedo

puente-agent report <project>
procedimientodocs/procedures/report-to-owner.md
validadorpuente-agent report <project>
quién revisanadie
notaVive en el CLI instalado, no en un script del Padre: cualquier proyecto lo hereda por referencia sin copiar nada.
parent

Informar al dueno con una tabla corta

terminas cualquier trabajo y tienes que decirle al dueno como quedo todo

puente-agent parent-report
procedimientodocs/procedures/report-to-owner.md
validadorpuente-agent parent-report
quién revisanadie
notaMarcas fijas: check bien con evidencia, admiracion atencion, equis bloquea, guion sin lectura. La tabla del Padre muestra solo decisiones que el dueno puede tomar en la interfaz o autorizar explícitamente; nunca le ofrece una identidad de agente como comando. Para un proyecto se usa report.project.
parent

Retomar el trabajo del Padre

abres, reanudas o compactas un chat sobre la fuente de Puente y necesitas saber en que quedo todo sin leer el historial

puente-agent parent-startup
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent parent-startup
quién revisanadie
project

Retomar el trabajo de un proyecto

entras a un proyecto hijo y necesitas contexto durable en vez de reconstruirlo desde el chat

puente-agent startup <project>
procedimientodocs/procedures/use-agent-cli.md
validadorpuente-agent startup <project>
quién revisanadie
parent

Derivar la proxima accion del Padre

recibiste una peticion y necesitas la accion derivada del estado durable, no el eco del mensaje

puente-agent parent-task-brief <objetivo>
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent parent-task-brief <objetivo>
quién revisanadie
project

Derivar la proxima accion de un proyecto

un proyecto hijo recibio una peticion y hay que convertirla en bloque verificable

puente-agent task-brief <project> <objetivo>
procedimientodocs/procedures/use-agent-cli.md
validadorpuente-agent task-brief <project> <objetivo>
quién revisanadie
both

Enrutar una tarea a su procedimiento

no sabes que procedimiento ni que validador manda para lo que te pidieron

puente-agent where "<tarea>"
procedimientodocs/procedures/README.md
validadorpuente-agent where "<tarea>"
quién revisanadie
notaSi termina sin clasificar, la clase la declara el dueno en la tabla antes de trabajar. Nunca se elige por parecido. El ejecutable incluye el enrutador para que los proyectos lo consulten por referencia, sin copiar scripts.
project

Consultar el estado durable sin cargarlo entero

necesitas saber que se hizo sobre una ruta, buscar un tema, ver lo pendiente o revisar el historial

puente-agent query <project> <path|find|open|history|block|stats>
procedimientodocs/procedures/use-agent-cli.md
validadorpuente-agent query <project> stats
quién revisanadie
notaConsulta el estado durable del proyecto dado, no datos de este chat ni una copia del Padre.
both

Buscar la herramienta que ya existe

vas a resolver algo repetible y no sabes si el Padre ya tiene la forma canonica de hacerlo

puente-agent how "<operacion>"
procedimientodocs/procedures/README.md
validadorpuente-agent how "consultar estado durable"
quién revisanadie
notaConsultar esto es obligatorio antes de escribir un metodo nuevo para una operacion repetible. El catálogo viaja incluido en el ejecutable, no copiado dentro de cada proyecto.
both

Impedir que concentración o duplicación empeoren

vas a ampliar una fuente del Padre o de un proyecto hijo y necesitas impedir que crezca un monolito o código copiado sin obligar a partir lo que ya existe

puente-agent structure-guard <project>
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent structure-guard <project>
quién revisaother-agent
notaCompara líneas del archivo más concentrado y ventanas de seis líneas duplicadas contra una línea base revisable, e indexa declaraciones semánticas para detectar comportamientos repetidos aunque estén escritos de forma distinta o anidados. El Padre la conserva en el runtime; un hijo la inicializa una vez en .puente/structure-ratchet.json y la versiona. Nunca reemplaza una base existente.
both

Consultar el margen estructural de una fuente

vas a ampliar una fuente existente y necesitas saber antes de escribir si cabe sin aumentar la concentración permitida

puente-agent structure-budget <project> <ruta-fuente>
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent structure-budget <project> <ruta-fuente>
quién revisaother-agent
notaDevuelve líneas actuales, máximo de la línea base y margen restante del archivo reclamado. El brief del Padre lo incorpora automáticamente para las fuentes existentes del bloque activo; una ruta nueva no consume el presupuesto de un archivo existente.
parent

Comprobar que puente-agent instalado coincide con la fuente del Padre

vas a arrancar, revisar o actualizar la fuente del Padre y necesitas confirmar que el ejecutable entiende el catálogo, el enrutador y el contrato durable vigentes

puente-agent runtime-check
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent runtime-check
quién revisanadie
notaSe ejecuta desde la raíz de la fuente del Padre y compara los recursos incluidos y la huella domain.rs + bridge-state.schema.json del lector que lo está corriendo. parent-startup y validate:fast exigen que coincidan; actualizar el ejecutable sigue requiriendo autorización explícita del dueño.
parent

Buscar autoridades por dominio

necesitas ubicar qué contrato procedimiento o índice manda sobre un tema sin reconstruirlo desde el chat

npm run query -- domain <tema>
procedimientodocs/procedures/README.md
validadornpm.cmd run validate:architecture
quién revisanadie
both

Disenar una superficie con prototipo externo y sistema declarado

vas a construir o rediseñar una pantalla, o a dar aspecto a un proyecto nuevo

puente-agent where "disenar una superficie visible"
procedimientodocs/procedures/design-with-studio.md
validadornpm.cmd run validate:fast
quién revisaowner
notaEs un método compartido: Padre y proyectos lo reciben por el mismo enrutador, sin copiarlo. Prototipo funcional honesto, brief con datos reales, auditoría, uso del sistema declarado y adopción bajo bloque. Nunca se adopta una pantalla con datos de ejemplo.
parent

Explicar el estado del Padre con un diagrama

hay que mostrar cómo funciona el Puente o dónde está trabado, y la prosa no alcanza

npm.cmd run grafo
procedimientodocs/procedures/generar-grafo.md
validadornpm.cmd run test:boundaries
quién revisaowner
notaEl diagrama es una salida del Puente, no una habilidad del agente que atienda: cualquier agente corre el mismo comando y obtiene lo mismo. Lee el estado durable vivo y sólo cae a la réplica del repositorio cuando el vivo no existe, diciéndolo en la propia página. Es una vista derivada, nunca autoridad: se regenera entera y su destino por defecto vive fuera del árbol, así que no se commitea.
project

Seguir de donde vino un cambio y donde se detiene

necesitas saber el origen de un cambio, que evidencia lo sostiene y que eslabon impide cerrarlo

puente-agent trace <project> <bloque>
procedimientodocs/procedures/README.md
validadorpuente-agent trace <project> <bloque>
quién revisanadie
notaLa cadena va de bloque a pasos, registro, gate y relevo. Un eslabón sin evidencia detiene el respaldo; no se salta declarando el resto en verde.
project

Detectar fallas del Puente sin que el dueno las señale

arrancas cualquier sesion, o antes de cerrar, y necesitas saber si el sistema tiene fallas de invariante

puente-agent audit <project>
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent audit <project>
quién revisanadie
notaCada falla nombra la capacidad que la resuelve; una falla alta condiciona el trabajo antes que la petición del chat. El Padre conserva además su auditoría local durante su propio mantenimiento.
parent

Auditar invariantes del Padre

mantienes Puente y necesitas comprobar que sus reglas durables, hallazgos, respaldos y revisiones no se contradicen

npm run query -- audit
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run query -- audit
quién revisanadie
notaLa auditoría del Padre es una lectura ejecutable: identifica cada invariante fallida y la capacidad canónica que la resuelve.
parent

Comprobar cobertura de reglas universales

vas a cambiar, revisar o publicar una regla universal y necesitas confirmar que tiene candado, acciones canónicas y no contradice otra regla

npm run query -- rules
procedimientodocs/procedures/update-parent-protocol.md
validadornode scripts/rule-coverage-contract.mjs --check
quién revisaother-agent
notaEl catálogo separa cobertura automática de brechas heredadas. Una regla nueva no puede declararse automatizada con un control o disparador inexistente.
both

Comprobar reglas universales desde el runtime instalado

un agente o un proyecto necesita verificar el protocolo heredado sin depender de scripts ni copiar el núcleo del Padre

puente-agent protocol-rules-check
procedimientodocs/procedures/README.md
validadorpuente-agent protocol-rules-check
quién revisanadie
notaEjecuta cobertura e integridad contra recursos incluidos en el runtime. Devuelve bloqueo mientras exista una cláusula sin entrada o una alteración; devuelve atención y salida distinta de cero mientras queden brechas explícitas. No sustituye los validadores locales de un proyecto ni el escaneo de secretos del Padre.
parent

Comprobar si un cambio de protocolo puede promoverse

vas a promover o revertir un protocolo y debes proteger el trabajo abierto de los proyectos hijos

puente-agent protocol-change-guard
procedimientodocs/procedures/update-parent-protocol.md
validadorpuente-agent protocol-change-guard
quién revisanadie
notaEl candado distingue actualizar el runtime sin mover el contrato de promover una versión nueva. La promoción falla mientras un proyecto tenga trabajo abierto o bloqueado.
project

Revisar un cambio de proyecto de forma independiente

una persona o agente independiente ya comprobó un registro de cambio y debe aceptarlo o rechazarlo explícitamente

puente-agent revisar <project> <record> <accepted|rejected> <reviewer> <reviewer-session>
procedimientodocs/procedures/use-agent-cli.md
validadornpm.cmd run validate:tauri
quién revisaother-agent
notaNo hay revisión masiva implícita: cada registro, veredicto y sesión revisora se indican de forma explícita.
parent

Abrir bloque del Padre

vas a editar la fuente de Puente y necesitas reclamar rutas antes de tocar nada

puente-agent parent-block-open <actor> <session> <title> [--outcome <requested-outcome>] <step...> -- <path...>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
parent

Reconciliar una ruta del Padre sin absorber su autoría

el candado de turno encontró una ruta modificada con un último autor demostrable y debes recuperar el reclamo sin atribuirte ese trabajo

puente-agent parent-block-open <actor> <session> <titulo-de-reconciliacion> --outcome <hecho-y-autor-demostrable> <paso> -- <ruta>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisaother-agent
notaEs una apertura verificable de reconciliación; conserva la evidencia del último autor en el paso y nunca permite reclamar la ruta como trabajo nuevo del agente detenido.
parent

Registrar una ruta huérfana del Padre

el candado de turno encontró una ruta modificada sin autor demostrable y debe dejar la anomalía durable antes de cerrar

puente-agent parent-finding-add P2 defect <titulo-de-ruta-huerfana> <descripcion> <ruta-y-evidencia>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run query -- audit
quién revisanadie
notaEl hallazgo conserva la ruta, la ausencia de autor y la evidencia sin absorber la edición dentro del turno que la detectó.
project

Abrir bloque de proyecto

vas a cambiar algo dentro de un proyecto hijo

puente-agent block-open-verified <project> <actor> <session> <title> [--outcome <requested-outcome>] <step...> -- <path...>
procedimientodocs/procedures/change-application.md
validadornpm.cmd run validate:tauri
quién revisanadie
parent

Completar un paso del Padre con evidencia

terminaste un paso y tienes evidencia real que lo demuestra

puente-agent parent-step-complete <block> <actor> <session> <step-id> <evidence...>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
parent

Ampliar un checklist activo del Padre con trazabilidad

aparece un P0 o alcance verificable nuevo antes del cierre de un bloque activo

puente-agent parent-step-add <block> <actor> <session> <title> <razón> <evidencia...>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaConserva los pasos ya completados y registra la razón/evidencia del alcance añadido; no permite ampliar bloques cerrados ni sustituye un hallazgo independiente.
project

Ampliar un checklist activo de proyecto con trazabilidad

aparece un P0 o alcance verificable nuevo antes del cierre de un bloque de proyecto

puente-agent block-step-add <project> <block> <actor> <session> <title> <razón> <evidencia...>
procedimientodocs/procedures/use-agent-cli.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaConserva los pasos ya completados y registra la razón/evidencia del alcance añadido; no permite ampliar bloques cerrados ni sustituye un hallazgo independiente.
parent

Ejecutar y ligar un validador al bloque del Padre

un cambio del Padre necesita evidencia ejecutada antes de cerrar su bloque

puente-agent parent-validation-run <block> <actor> <session> <label> -- <program> <arg...>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
project

Ejecutar y ligar un validador al bloque de proyecto

un proyecto necesita demostrar el validador de su procedimiento antes de cerrar

puente-agent validation-run <project> <block> <actor> <session> <label> -- <program> <arg...>
procedimientodocs/procedures/use-agent-cli.md
validadornpm.cmd run validate:tauri
quién revisanadie
project

Declarar o cambiar un perfil durable de validación

el brief de un proyecto detectó una superficie sin cobertura y necesitas registrar el validador que la cubre antes de implementar

puente-agent validation-profile-set <project> <block> <actor> <session> <id> <label> <surface[,surface...]> -- <program> <arg...>
procedimientodocs/procedures/use-agent-cli.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaExige un bloque activo del mismo actor y sesión que reclame .puente/project.json. Reemplaza atómicamente sólo el perfil indicado y valida el nodo completo; declarar un comando no equivale a ejecutar una prueba verde.
parent

Cerrar bloque del Padre

todos los pasos tienen evidencia y Puente ejecutó audit más el validador aplicable

puente-agent parent-block-close <block> <actor> <session> <summary> <validator...> --compliance <fingerprint>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisaother-agent
parent

Liberar las rutas de un bloque del Padre sin fingir un cierre

el bloque abierto ya no debe monopolizar sus rutas, pero no corresponde fabricar el registro, validación o revisión que exige un cierre completo

puente-agent parent-block-release <block> <actor> <session> <motivo>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaExige al mismo actor y sesión del bloque abierto. Deja estado released, motivo, rutas y evidencia histórica; no crea registro de cambio, gate, revisión ni checkpoint.
parent

Resolver un criterio aplicable del Padre con evidencia durable

el plan de una petición del Padre exige demostrar si un criterio aplica y con qué capacidad se cumplió antes de cerrar

puente-agent parent-criterion-attest <block> <actor> <session> <criterion> <satisfied|not-applicable> <capability[,capability...]|-> <proof:capability=reference...|reason=motivo>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaEl runtime valida que el criterio corresponda al contrato instalado, que la capacidad pertenezca a sus controles y que exista evidencia. El cierre exige una atestación completa por cada criterio aplicable.
project

Resolver un criterio aplicable del proyecto con evidencia durable

el plan de una petición hija exige demostrar si un criterio aplica y con qué capacidad se cumplió antes de cerrar

puente-agent criterion-attest <project> <block> <actor> <session> <criterion> <satisfied|not-applicable> <capability[,capability...]|-> <proof:capability=reference...|reason=motivo>
procedimientodocs/procedures/change-application.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaLa capacidad vive en el runtime compartido; el proyecto conserva solo las atestaciones de su propio bloque y no recibe una copia del núcleo.
project

Cerrar bloque de proyecto

el trabajo del proyecto quedo probado y corresponde registrarlo

puente-agent block-close-verified <project> <id> <actor> <session> <summary> <validator...> --compliance <fingerprint>
procedimientodocs/procedures/change-application.md
validadornpm.cmd run validate:tauri
quién revisaother-agent
parent

Dejar relevo antes de cambiar de chat

vas a cerrar la sesion con trabajo abierto y otro chat debe continuar el mismo bloque

puente-agent parent-handoff-leave <block> <actor> <session> <recipient> <objective> <state> <next-step> <risk> [evidence...]
procedimientodocs/procedures/validar-continuidad-entre-proyectos.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaExige un bloque abierto. Un bloque ya cerrado se revisa por su registro de cambio, no por relevo.
parent

Aceptar un relevo pendiente

entras a un chat nuevo y el estado durable declara un relevo dirigido a ti

puente-agent parent-handoff-accept <message> <recipient> <new-session>
procedimientodocs/procedures/validar-continuidad-entre-proyectos.md
validadornpm.cmd run validate:tauri
quién revisanadie
parent

Registrar un hallazgo del Padre con prioridad derivada

detectaste un riesgo, ausencia o mejora fuera del bloque autorizado y no debes implementarla ahora; entrega evidencia que nombre la superficie afectada

puente-agent parent-finding-add <P0-P3-propuesta> <defect|technical-debt|unbuilt-capability> <title> <description> [evidence...]
procedimientodocs/procedures/maintain-parent.md
validadornpm run query -- open
quién revisanadie
parent

Cerrar un hallazgo con evidencia

corregiste la causa de un hallazgo y puedes demostrarlo

puente-agent parent-finding-close <id> <resolved|dismissed>
procedimientodocs/procedures/maintain-parent.md
validadornpm run query -- open
quién revisaowner
parent

Sustituir trazablemente un hallazgo del Padre

un hallazgo fue creado duplicado o mal rotulado y otro hallazgo abierto, igual o más prioritario, conserva la deuda correcta

puente-agent parent-finding-supersede <previous-id> <replacement-id> <reason>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaConserva el registro anterior como history superseded; no lo cierra como si una corrección hubiera ocurrido.
parent

Consultar rutas tomadas o congeladas del Padre

un brief o una reparación necesita saber si una ruta se puede reclamar antes de abrir o desviar un bloque

puente-agent parent-route-status <ruta>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaMuestra claims activos y registros aceptados sin checkpoint que congelan la ruta; no interpreta el chat.
parent

Revisar un cambio del Padre

un bloque cerro y su registro de cambio sigue sin revision independiente

puente-agent parent-change-review <record> <reviewer> <reviewer-session> <accepted|rejected>
procedimientodocs/procedures/change-application.md
validadornpm run query -- open
quién revisaother-agent
notaNingun participante del bloque puede revisar su propio cambio. Si Codex y Claude participaron ambos, el dueño confirma o rechaza desde Mi turno con una confirmación explícita; su identidad nunca se entrega como argumento de terminal.
parent

Respaldar la fuente del Padre en Git

hay trabajo revisado sin punto de retorno y el dueno autorizo el respaldo

puente-agent parent-checkpoint <record>
procedimientodocs/procedures/git-checkpoints.md
validadornpm.cmd run validate:tauri
quién revisaowner
notaNunca hay push. El checkpoint es local y reversible: el dueño lo confirma en Mi turno y Puente sólo lo ejecuta si el registro y sus huellas siguen siendo elegibles.
parent

Exportar el estado durable completo del Padre

necesitas preparar el artefacto versionable que acompaña a la fuente y conserva coordinación, inventario, memoria, propuestas y descriptor

puente-agent parent-state-export
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent parent-state-verify
quién revisanadie
notaGenera state/parent-maintenance.snapshot.json con exactamente las piezas durables, sus huellas y la huella del protocolo. No declara que el artefacto sea respaldo hasta verificarlo.
parent

Verificar el respaldo portable del Padre

vas a declarar que una réplica del Padre puede viajar a otra máquina o necesitas detectar ausencia, piezas extra o huellas alteradas

puente-agent parent-state-verify
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent parent-state-verify
quién revisanadie
notaRechaza una foto incompleta, alterada o creada por una versión distinta del protocolo antes de ofrecer restauración.
parent

Replicar y confirmar el estado durable del Padre fuera de esta máquina

vas a cerrar un bloque del Padre o aceptar una revisión y el estado final debe salir de esta máquina de forma verificable

puente-agent parent-state-replicate
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaExige un remoto Git privado configurado de forma explícita. Sube sólo el bundle portable y su recibo a una rama aislada, vuelve a leerlos desde el remoto y revierte el cierre o la aceptación si esa comprobación falla.
parent

Restaurar el estado durable del Padre

una instalación nueva necesita recuperar la réplica verificada del Padre desde la fuente o una instalación con historial exige reemplazo explícito

puente-agent parent-state-restore [--replace]
procedimientodocs/procedures/maintain-parent.md
validadorpuente-agent parent-state-verify
quién revisaowner
notaNunca pisa historial durable sin --replace explícito; valida el bundle completo antes de escribir su primera pieza y no hace push.
parent

Conciliar evidencia histórica del Padre

un registro aceptado del Padre no tiene trailer Git pero puede probarse contra un commit local por todas sus huellas

puente-agent parent-reconcile-history --all
procedimientodocs/procedures/git-checkpoints.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaSólo enlaza evidencia completa ya presente en Git; no crea commits, no prepara archivos y nunca hace push.
project

Respaldar un proyecto en Git

un proyecto hijo acumulo trabajo revisado sin respaldo

puente-agent git-checkpoint <project> <record>
procedimientodocs/procedures/git-checkpoints.md
validadornpm.cmd run validate:tauri
quién revisaowner
project

Iniciar el repositorio de un proyecto

un proyecto existe sin control de versiones y necesita su primer respaldo

puente-agent git-init <project>
procedimientodocs/procedures/git-checkpoints.md
validadornpm.cmd run validate:tauri
quién revisaowner
project

Reconstruir el inventario de un proyecto

sospechas que el mapa de rutas y autoridades quedo atrasado

puente-agent inventory-scan <project>
procedimientodocs/procedures/change-contracts.md
validadornpm.cmd run validate:tauri
quién revisanadie
project

Reconciliar rutas, Git e inventario

hubo edicion externa y hay que marcar que gates quedaron pendientes de validacion

puente-agent reconcile <project>
procedimientodocs/procedures/change-contracts.md
validadornpm.cmd run validate:tauri
quién revisanadie
project

Registrar una decision durable

se tomo una decision que un chat futuro no debe volver a discutir

puente-agent decision-add <project> <title> <outcome> <rationale>
procedimientodocs/procedures/change-contracts.md
validadornpm run validate
quién revisanadie
project

Registrar una cicatriz

algo fallo de forma cara y hay que dejar el candado para que no se repita

puente-agent scar-add <project> <title> <symptom> <cost> <guard>
procedimientodocs/procedures/change-contracts.md
validadornpm run validate
quién revisanadie
parent

Registrar una decisión durable del Padre

Puente tomó una decisión sobre su propia fuente que chats futuros deben aplicar sin volver a preguntarla

puente-agent parent-decision-add <title> <outcome> <rationale>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisaother-agent
parent

Registrar una cicatriz del Padre

un hallazgo P0/P1 del Padre se corrigió y debe conservar síntoma, costo y candado antes de cerrarse

puente-agent parent-scar-add <block> <actor> <session> <finding> <title> <symptom> <cost> <guard>
procedimientodocs/procedures/maintain-parent.md
validadornpm run query -- audit falla alto si un P0/P1 cerrado no tiene su cicatriz ligada
quién revisaother-agent
notaEl bloque debe estar activo, pertenecer a actor/sesión y reclamar la ficha exacta docs/cicatrices/<id-del-hallazgo>.md; una orden suelta, la carpeta o el ledger histórico no pueden modificar la fuente del Padre.
both

Consultar conocimiento universal por área

necesitas aplicar o explorar cicatrices y criterios universales sin copiar la memoria del Padre dentro de un proyecto

puente-agent parent-knowledge <area|all>
procedimientodocs/procedures/use-agent-cli.md
validadorpuente-agent parent-knowledge all
quién revisanadie
notaDevuelve una vista derivada con origen, área y prioridad cuando existe; el ledger y la memoria del Padre siguen siendo la autoridad.
project

Convertir una correccion en criterio

el dueno corrigio algo o se repitio un patron y debe volverse regla local

puente-agent criterion-add <project> <owner-correction|repeated-pattern|project-evidence> <title> <rule> <evidence...>
procedimientodocs/procedures/change-contracts.md
validadornpm run validate
quién revisanadie
parent

Registrar un criterio aprendido del Padre

una corrección o patrón debe condicionar el mantenimiento futuro de Puente

puente-agent parent-criterion-add <owner-correction|repeated-pattern|project-evidence> <title> <rule> <evidence...>
procedimientodocs/procedures/maintain-parent.md
validadornpm.cmd run validate:tauri
quién revisaother-agent
project

Comprobar los adaptadores de un proyecto

un agente no arranca bien o dudas de que su entrada siga siendo valida

puente-agent adapters-check <project>
procedimientodocs/procedures/use-agent-cli.md
validadornpm.cmd run validate:tauri
quién revisanadie
project

Reparar los adaptadores de un proyecto

la comprobacion mostro un adaptador ausente o desviado

puente-agent adapters-repair <project>
procedimientodocs/procedures/use-agent-cli.md
validadorpuente-agent adapters-check <project>
quién revisanadie
project

Clasificar el alcance de un hallazgo de proyecto

un hallazgo de un proyecto hijo debe demostrar si se resuelve localmente o si exige una propuesta al Padre

puente-agent finding-classify <project> <finding> <local|universal> <motivo> [proposal-id]
procedimientodocs/procedures/propose-parent-improvement.md
validadornpm.cmd run validate:tauri
quién revisanadie
notaLa clasificación universal verifica una propuesta existente del mismo proyecto; una cita local al protocolo del Padre dispara la auditoría.
project

Proponer una mejora universal

un aprendizaje del proyecto sirve para todos y no debe quedarse local

puente-agent proposal-add <project> <author> <title> <problem> <proposed-rule> <evidence...>
procedimientodocs/procedures/propose-parent-improvement.md
validadornpm.cmd run validate:tauri
quién revisaother-agent
parent

Validacion rapida de la fuente

cambiaste interfaz, scripts o documentos y necesitas probar antes de cerrar

npm run validate:fast
procedimientodocs/procedures/change-application.md
validadornpm.cmd run validate:fast
quién revisanadie
parent

Validacion completa de la fuente

cambiaste contratos, protocolos, esquemas o codigo Rust

npm run validate
procedimientodocs/procedures/change-contracts.md
validadornpm.cmd run validate
quién revisanadie
parent

Reconstruir y volver a abrir la aplicación local aceptada

un cambio de Puente fue aceptado y el ejecutable release del dueño debe reflejarlo

npm run app:refresh
procedimientodocs/procedures/run-local-development.md
validadornpm.cmd run validate y comprobación visual de la ventana release reconstruida
quién revisaowner
parent

Ejecutar Puente local en desarrollo

hay que probar la aplicación real con recarga y contrato de puertos protegido

npm run app:dev
procedimientodocs/procedures/run-local-development.md
validadornpm.cmd run test:boundaries
quién revisanadie
parent

Comprobar firma antes de distribuir

alguien quiere declarar el ejecutable listo para otro equipo

npm run preflight:windows
procedimientodocs/procedures/sign-windows.md
validadornpm.cmd run preflight:windows
quién revisaowner
13.3

Los 31 criterios

Lo aprendido de correcciones, que ya no hay que volver a pedir

generado desde protocols/core/capabilities.json · criterionContracts

Un criterio nace de una corrección o de una repetición. A diferencia de una regla, no siempre aplica: cada uno declara sobre qué carpetas cae y qué candado lo sostiene.

Un solo camino por comportamiento y cohesion antes que conteo de lineas

dónde aplicasrc/ src-tauri/ scripts/ apps/ backend/ server/
qué exigesingle-canonical-path-and-nonregressing-structure
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosstructure.ratchet

Una prueba que no puede fallar no es cobertura se prueba rompiendola primero

dónde aplicasrc-tauri/ scripts/
qué exigereproducible-failing-case-and-executed-guard
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosvalidation.run-parent validation.run-project

Cada afirmacion viaja con como se supo no saber se dice no se rellena

dónde aplicasiempre (always)
qué exigesource-command-fingerprint-or-explicit-uncertainty
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosaudit.parent context.brief-parent context.brief-project

El padre no trabaja dentro del hijo entrega la herramienta y el hijo la hereda

dónde aplicasiempre (always)
qué exigeparent-contract-or-inherited-tool
alcanceparent
lo activancontext.brief-parent work.close-parent
candadoscontext.brief-parent protocol.change-guard audit.parent

Lo que se anota se anota localizado el que viene ejecuta no vuelve a investigar

dónde aplicasiempre (always)
qué exigelocalized-source-reproducer-and-scope-boundary
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadoscontext.brief-parent context.brief-project audit.parent

El padre aprende de referencias completas

dónde aplicasiempre (any)
qué exigeparent-gap-record
alcanceparent
lo activancontext.brief-parent work.close-parent
candadosfinding.add-parent audit.parent

Superar el sistema de referencia derivando lo que el otro hace declarar

dónde aplicasiempre (any)
qué exigesource-derived-control
alcanceparent
lo activancontext.brief-parent work.close-parent
candadosvalidation.rules-parent

Una regla que el agente debe recordar no es una regla es precondicion valor derivado o rastro

dónde aplicasiempre (always)
qué exigeprecondition-derived-value-or-trail
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosvalidation.rules-runtime

La autorizacion del dueno se pide donde el dueno ya esta

dónde aplicasiempre (any)
qué exigecanonical-action-at-announced-surface
alcanceparent
lo activancontext.brief-parent work.close-parent
candadoscheckpoint.parent report.owner

Claude revisa codex ejecuta

dónde aplicasiempre (any)
qué exigesource-edit
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosreview.change-parent review.project

Los rechazos de revisi n se convierten en candados

dónde aplicasiempre (any)
qué exigefinding-and-executable-guard
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosfinding.add-parent validation.run-project

La deuda caducada no bloquea la correccion limpia

dónde aplicasiempre (always)
qué exigefalse-high-failure
alcanceparent
lo activancontext.brief-parent work.close-parent
candadosaudit.parent

Sincronizaci n verificable del padre en cada proyecto

dónde aplicaprotocols/ schemas/ src-tauri/src/ package.json
qué exigeper-project-compatibility-check
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent
candadosprotocol.change-guard runtime.check-parent validation.rules-runtime

Validadores derivados clasificados y ejecutables por impacto

dónde aplicasiempre (any)
qué exigederived-executed-validators
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosvalidation.run-parent validation.run-project

Configuraci n durable siempre por una v a can nica

dónde aplicaprotocols/ schemas/ .claude/ .codex/ package.json src-tauri/tauri.conf.json
qué exigecanonical-write-and-read-capability
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadostools.catalog

Un veredicto de revision sin motivo recuperable no es una revision

dónde aplicasiempre (any)
qué exigereason-criterion-and-route-evidence
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosreview.change-parent review.project

El detalle entre agentes viaja por inbox y el due o solo despierta al destinatario

dónde aplicasiempre (any)
qué exigedurable-inbox-and-owner-wakeup-only
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadoshandoff.leave-parent context.brief-project

Profesional por defecto librerias maduras nunca rudimentario desde cero

dónde aplicasrc/ apps/ public/ pages/ components/
qué exigeprofessional-stack-and-validation-profile
alcanceproject
lo activancontext.brief-project work.close-project
candadosdesign.surface validation.profile-set-project

Sin atajos silenciosos buenas practicas desde el inicio si tienta un atajo preguntar primero

dónde aplicasiempre (always)
qué exigesilent-shortcut
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadoscontext.brief-parent context.brief-project

Ningun estado anomalo puede quedarse mudo silencio es falla grave

dónde aplicasiempre (any)
qué exigenamed-gate-or-explicit-dismissal
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosaudit.parent finding.add-parent report.project

Los candados van donde la accion es irreversible para otro no donde es comoda

dónde aplicasiempre (all)
qué exigeunguarded-irreversible-action
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosprotocol.change-guard work.close-project

La cobertura de reglas se deriva de la fuente no se declara a mano

dónde aplicaprotocols/core/PROTOCOL.md protocols/core/rule-coverage.json scripts/rule-coverage-contract.mjs
qué exigesource-derived-inventory-and-shared-runtime
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosvalidation.rules-runtime

El canal entre agentes es el estado durable el texto copiable es solo respaldo declarado

dónde aplicasiempre (any)
qué exigedurable-state-channel
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadoshandoff.leave-parent context.brief-project

El candado se prueba deteniendo al agente no con su informe

dónde aplicasiempre (always)
qué exigeself-reported-compliance
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosvalidation.rules-parent validation.rules-runtime

El conocimiento durable del proyecto vive en puente nunca en la memoria privada de un agente

dónde aplicasiempre (always)
qué exigeparent-durable-state
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosaudit.parent context.brief-project

Ninguna solucion puede dejarle al dueno un paso manual nuevo

dónde aplicasiempre (always)
qué exigeunautomated-owner-step
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosreport.owner report.project

Al dueno se le entrega resultado no un resumen del estado

dónde aplicasiempre (always)
qué exigeexecuted-result-not-state-summary
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosreport.owner report.project

El respaldo del padre es una replica completa nunca un subconjunto

dónde aplicasiempre (any)
qué exigecomplete-hashed-portable-bundle
alcanceparent
lo activancontext.brief-parent work.close-parent
candadosstate.export-parent state.verify-parent checkpoint.parent

El estado durable sale del computador en cada cierre no cada cierto tiempo

dónde aplicasiempre (always)
qué exigeverified-isolated-remote-replica
alcanceparent
lo activancontext.brief-parent work.close-parent review.change-parent
candadosstate.replicate-parent

Una cicatriz sobrevive a la muerte de su proyecto de origen

dónde aplicasiempre (any)
qué exigehistoric-origin-and-inherited-scar
alcanceparent project
lo activancontext.brief-parent context.brief-project work.close-parent work.close-project
candadosquery.knowledge-parent

Una herramienta del runtime que el hijo puede usar no esta heredada hasta que el catalogo la declara

dónde aplicasiempre (always)
qué exigedeclared-capability-with-project-or-both-scope
alcanceparent
lo activancontext.brief-parent work.close-parent review.change-parent
candadostools.catalog audit.parent
13.4

Flujos y procedimientos

Qué hacer según la tarea

generado desde docs/procedures/README.md y la carpeta docs/procedures/

Un agente no elige procedimiento por parecido: pregunta al enrutador. Si la tarea no está en esta tabla, la clase la declara el dueño antes de trabajar.

TareaProcedimientoValidador
Declarar contrato universal de backend y estructura heredablebackend-and-structure-contract.mdnpm.cmd run validate
Implementar detector semántico de una sola vía por comportamientobackend-and-structure-contract.mdnpm.cmd run validate
Cambiar protocolos universalesupdate-parent-protocol.mdnpm.cmd run validate
Proponer una mejora universal desde un proyectopropose-parent-improvement.mdnpm.cmd run validate:tauri
Crear o registrar proyectoproject-lifecycle.mdnpm.cmd run validate:tauri
Coordinar Codex o Claude dentro de un proyectouse-agent-cli.mdnpm.cmd run validate:tauri
Declarar o cambiar perfiles durables de validación de proyectouse-agent-cli.mdnpm.cmd run validate:tauri
Mantener la propia fuente de Puentemaintain-parent.mdnpm.cmd run validate
Corregir el informe de mantenimiento del Padremaintain-parent.mdnpm.cmd run validate
Revisar o respaldar cambios con Gitgit-checkpoints.mdnpm.cmd run validate:tauri
Reconciliar registros históricos con commits locales por huella exactagit-checkpoints.mdnpm.cmd run validate:tauri
Cambiar memoria, coordinación, inventario o nodochange-contracts.mdnpm.cmd run validate
Cambiar interfazchange-application.mdnpm.cmd run validate:fast
Ejecutar o comprobar la aplicación local en desarrollorun-local-development.mdnpm.cmd run test:boundaries
Cambiar registro o escritura localchange-application.mdnpm.cmd run validate
Construir o distribuir en Windowssign-windows.mdnpm.cmd run preflight:windows
Trasladar trabajo a otro proyecto o chatvalidar-continuidad-entre-proyectos.mdnpm.cmd run validate
Consultar historial, rutas, hallazgos o pendientesuse-agent-cli.mdnpm.cmd run query -- stats
Diseñar o rediseñar una superficie visibledesign-with-studio.mdnpm.cmd run validate:fast
Explicar el estado del Padre con un diagramagenerar-grafo.mdnpm.cmd run test:boundaries
Informar o cerrar frente al dueñoreport-to-owner.mdnpm.cmd run query -- report
Agregar o cambiar una acción de la interfazchange-application.mdnpm.cmd run validate:fast

Los 16 procedimientos escritos hoy:

Archivo
docs/procedures/backend-and-structure-contract.md
docs/procedures/change-application.md
docs/procedures/change-contracts.md
docs/procedures/design-with-studio.md
docs/procedures/generar-grafo.md
docs/procedures/generar-manual.md
docs/procedures/git-checkpoints.md
docs/procedures/maintain-parent.md
docs/procedures/project-lifecycle.md
docs/procedures/propose-parent-improvement.md
docs/procedures/report-to-owner.md
docs/procedures/run-local-development.md
docs/procedures/sign-windows.md
docs/procedures/update-parent-protocol.md
docs/procedures/use-agent-cli.md
docs/procedures/validar-continuidad-entre-proyectos.md
13.5

Qué se comprueba

Superficies, perfiles y cómo se calcula el riesgo

generado desde protocols/core/validation-surfaces.json y protocols/core/capabilities.json

Puente no reduce un proyecto a una etiqueta. Deriva qué superficies tiene —interfaz, datos, seguridad, integración— y exige cobertura para cada una. Si aparece una superficie que nadie sabe validar, el trabajo se detiene con esa ausencia visible en vez de rellenarse con una promesa.

SuperficieTipoQué resultado exigeCómo se rompe a propósito
Interfaz y experiencia visibleclassifier
Servicio, API o backendclassifier
Datos y persistenciaclassifier
Acceso y seguridadclassifier
Integración externaclassifier
Juego y runtime interactivoclassifier
Entrega y automatizaciónclassifier
Contrato de APIbackendEspecificación legible por máquina de entradas, salidas y errores; el cambio incompatible se trata como cambio de contrato.Una petición o respuesta fuera del contrato falla.
Persistencia y migracionesbackendModelo de datos y migraciones versionadas, aplicables y reversibles cuando el motor lo permite.Datos inválidos, duplicados y una migración incompatible fallan o se recuperan de forma comprobable.
Identidad y sesiónbackendInicio, cierre, renovación y expiración de sesión con identidad verificable.Sesión ausente, expirada o manipulada queda denegada.
Autorización por rolbackendPermisos por rol aplicados en el servidor o capa de dominio, con denegación por defecto.Cada rol no autorizado recibe denegación aunque intente llamar la ruta directamente.
Validación de entradabackendToda entrada externa se valida en el límite antes de usarla.Tipo, tamaño, formato y estado inválidos no alcanzan la lógica de negocio.
Higiene de secretosbackendSecretos sólo en el proveedor/configuración local apropiada; nunca en Git, inventario, logs ni evidencia.El detector de secretos rechaza una credencial de prueba.
Errores y observabilidadbackendErrores estructurados, con identificador de correlación y respuesta pública segura.Una excepción del proveedor no filtra secreto ni detalle interno.
Entrega de correobackendAdaptador de correo con plantilla/versionado, reintento e idempotencia cuando corresponda.Fallo, reintento y duplicado se prueban sin enviar correo real.
Código duplicadobackendFragmentos repetidos detectados antes del cierre.Una duplicación por encima del umbral del proyecto hace fallar el perfil.
Capas y dependenciasbackendCapas y direcciones de dependencia declaradas por el proyecto.Un ciclo o importación que salta una capa hace fallar el perfil.
Código muertobackendExportaciones, archivos o dependencias sin uso reportados por herramienta.Un símbolo sin referencias aparece como error hasta resolverse o excepcionarse localmente.
Complejidad y tamañobackendLímites de complejidad, declaraciones y tamaño aplicados por el linter.Una función o módulo que supera el límite hace fallar el perfil.

Los 6 perfiles de validación

Qué comprobación se dispara según qué carpeta tocaste.

PerfilSe dispara conCubreSi falla
audit
npm.cmd run query -- audit
siempregovernanceblock
validate:fast
npm.cmd run validate:fast
src/interfaceblock
validate:tauri
npm.cmd run validate:tauri
src-tauri/runtime stateblock
validate:parent-state
npm.cmd run validate:parent-state
state/state portabilityblock
validate:full
npm.cmd run validate
protocols/ schemas/ docs/ scripts/ .claude/ .puente-turn-snapshot.json AGENTS.md CLAUDE.md README.md package.json package-lock.json tsconfig.json tsconfig.node.json vite.config.tsprotocol contract toolingblock
validate:guards
npm.cmd run validate:guards
src/ src-tauri/ scripts/ apps/ backend/ server/structure cohesionblock

Cómo se calcula el riesgo

Nadie se asigna su propia clase: se deriva de las carpetas que toca.

ClaseCarpetas que la disparan
critical shared-contractprotocols/ schemas/ .claude/ src-tauri/ package.json package-lock.json Cargo.toml Cargo.lock
high application-codesrc/ apps/ backend/ server/
high wide-scopeninguno
critical very-wide-scopeninguno
standard residual*
13.6

Dominios y áreas

Dónde vive la verdad de cada tema

generado desde protocols/core/domains.json y protocols/core/knowledge-areas.json

Este mapa no copia reglas: dice qué archivos mandan sobre cada tema, para que nadie mezcle autoridades.

DominioCuándo mirarloQuién manda
Coordinación y relevosbloques, sesiones, claims, heartbeats, relevos o registros de cambioprotocols/core/PROTOCOL.md schemas/bridge-state.schema.json docs/procedures/use-agent-cli.md
Memoria y aprendizajedecisiones, criterios, cicatrices, propuestas o excepcionesprotocols/core/PROTOCOL.md schemas/memory-state.schema.json schemas/exceptions-state.schema.json docs/procedures/change-contracts.md docs/CICATRICES.md
Inventario y propiedadrutas, huellas, ausencias, cambios externos o autoridad Padre Proyecto Derivadoprotocols/core/manifest.json schemas/inventory-state.schema.json docs/procedures/change-contracts.md
Validación y evidenciagates, validadores, auditoría, recorridos adversariales o cierre verificableprotocols/core/PROTOCOL.md protocols/core/capabilities.json docs/procedures/maintain-parent.md
Backend, seguridad y estructura mantenibleAPI, contratos de datos, persistencia, migraciones, identidad, roles, validación de entrada, secretos, errores, correo o la estructura interna de un proyecto hijoprotocols/core/PROTOCOL.md schemas/project-node.schema.json docs/procedures/backend-and-structure-contract.md docs/procedures/project-lifecycle.md docs/procedures/use-agent-cli.md
Aplicación localinterfaz, lectura durable, selector de carpetas, desarrollo o comprobación visualprotocols/core/surface-contract.json protocols/core/design-system.json docs/procedures/change-application.md docs/procedures/run-local-development.md
Versionado, respaldo y distribuciónversiones, compatibilidad, checkpoints, release, firma, instalación o publicaciónprotocols/core/manifest.json docs/procedures/git-checkpoints.md docs/procedures/sign-windows.md docs/procedures/update-parent-protocol.md

Las 14 áreas de conocimiento

ÁreaPalabras que la nombran
Respaldo y Gitrespaldo checkpoint commit git foto huella cadena
Revisión e independenciarevision revisor revisar veredicto acept rechaz firma
Runtime, binarios y adaptadoresruntime rust tauri cli binario ejecutable lector adaptador
Trabajo, rutas y coordinaciónbloque claim reclamo ruta turno relevo agente autor
Protocolo y reglasprotocolo regla criterio catalogo capacidad hered
Estado durable y memoriaestado memoria inventario esquema schema registro dato durable
Interfaz y experiencia visibleinterfaz pantalla vista widget aplicacion ventana panel ui
Frontend y diseño visualfrontend front end react css html componente visual diseno visual accesibilidad
Backend y APIsbackend api servidor endpoint worker cola queue http websocket
Datos y base de datosbase de datos database postgres supabase sqlite migracion retencion consulta indice cache
Seguridad y privacidadseguridad secreto credencial autentic autoriz permiso privacidad cifrad firma firmado
Despliegue, instalación y actualizacionesdespliegue deploy release publicar publicacion distribucion instalador instalar actualizador actualizacion updater
Móvil y plataformas nativasmovil android ios iphone ipad swift kotlin
Validación y evidenciavalid prueba test audit gate evidencia control
13.7

La aplicación

Qué hace cada acción visible, y qué la respalda de verdad

generado desde protocols/core/surface-contract.json · actions

Una interfaz no puede ofrecer algo que el sistema no sabe hacer. Cada acción declara si escribe de verdad, si solo lee, o si está pendiente — y ningún botón puede mentir sin que un validador lo note.

AcciónQué haceRespaldo realDónde vive
handleSelectProjectreadget_project_snapshotBarra lateral y tabla de proyectos
handleSwitchActornavigationPerspectiva de actor
handleCreateProjectrealcreate_projectAsistente de nuevo proyecto
handleSelectProjectParentFolderreadselect_project_parent_folderSelector nativo de carpeta del asistente
handleAcknowledgeHandoffguardedaccept_parent_handoff
handleAddFindingrealcreate_parent_finding / create_findingVista de proyecto > pestana Hallazgos
handleUpdateFindingStatusrealresolve_parent_finding / resolve_findingVista de proyecto > pestana Hallazgos
handleAcceptRecordrealreview_parent_change_record / review_change_recordMi turno > tarjeta de revisión pendiente con confirmación; Padre (Protocolo) > Trabajo del Padre; y la vista de proyecto para los registros del hijo
handleRejectRecordrealreview_parent_change_record / review_change_recordMi turno > tarjeta de revisión pendiente con confirmación; Padre (Protocolo) > Trabajo del Padre; y la vista de proyecto para los registros del hijo
handleParentCheckpointrealcreate_parent_checkpointTrabajo del Padre y ruta de Atención
handleInstallAvailableUpdaterealplugin:updater|download_and_installAviso global de actualización y diálogo de confirmación
handleToggleStepEvidenceguardedcomplete_parent_step
handleUpdateBlockStatusguarded
handleUpdateAIguarded
handleUpgradeProtocolguarded
handleCreateExceptionrealcreate_exceptionPestaña de protocolos y excepciones del proyecto
handleCloseExceptionrealclose_exceptionPestaña de protocolos y excepciones del proyecto
13.8

El contrato visual

Cómo tiene que verse la aplicación, y qué pasa si alguien lo ignora

generado desde protocols/core/design-system.json

Esto no es una guía de estilo que se recuerde de buena voluntad: tiene candado. El validador de arquitectura lee este contrato y falla si alguien mete colores literales fuera del presupuesto, usa un tamaño fuera de la escala, baja del mínimo legible o reintroduce la marca vieja. Un agente no puede saltárselo sin romper la validación.

Su alcance declarado es src/theme.css. Fuera de ahí el contrato orienta pero no obliga: por eso una vista derivada que necesite otra cosa —como el grafo, que va en oscuro— debe declarar su excepción por escrito en su procedimiento, no simplemente hacerlo.

Qué fijaValorPor qué
Escala de texto13px 16px 24pxTres tamaños, no una escala libre que cada pantalla reinventa
Mínimo legible13pxNada por debajo, en ninguna pantalla
Contraste mínimo4.5Toda combinación de texto y superficie debe pasar WCAG AA.
Superficiesbase clara superficie superficie elevadaTres niveles de fondo, no cajas con borde dentro de cajas con borde
Tema iniciallightEl tema claro del prototipo es el valor inicial. La persona dueña puede alternar a un tema oscuro local y reversible; esta preferencia no modifica el estado durable ni crea una segunda marca.
Colores literales permitidos0Presupuesto cero: se usan los tokens, no hex sueltos
Marca retiradaforest brand-primary brand-accentEl validador la rechaza si vuelve
Una pantallaUna pantalla tiene un único titular de 24px en frase normal. No se anidan cajas con borde dentro de cajas con borde.
Identidad de actoresClaude, Codex, Puente y Tú tienen colores propios y reconocibles; Tú usa el tono más cálido. La identidad visual no sustituye el nombre ni el estado durable.

Ningún estado se distingue solo por color

Cada estado lleva su glifo además del color, para que se entienda en blanco y negro y con daltonismo.

EstadoGlifoQué significa el color
validatedhecho y verificado
active
attention!acción pendiente o turno
blocked×bloqueado
unknown
13.9

Estado ahora mismo

Lo único de esta referencia que cambia cada día

leído del estado durable vivo local
285
bloques de trabajo en total
6
abiertos ahora
116
problemas abiertos
26
de ellos críticos
246
registros de cambio
235
puertas de validación

Para el detalle vivo —quién trabaja en qué, qué está trabado, qué toca decidir— el comando es npm run query -- report. Esta referencia muestra la forma del sistema; ese comando muestra el momento.

Generado el 3 de septiembre de 2026 a las 3:17 p. m. · protocolo 0.1.16 · fuentes: protocols/core/rule-coverage.json · protocols/core/capabilities.json · protocols/core/domains.json · protocols/core/knowledge-areas.json · protocols/core/validation-surfaces.json · protocols/core/surface-contract.json · protocols/core/design-system.json · docs/procedures/README.md · protocols/core/PROTOCOL.md · protocols/core/manifest.json

14

Diccionario

Todo el vocabulario de Puente, en castellano llano

Cada concepto que aparece en este informe está aquí explicado, con un ejemplo real. Nueve salen del propio diccionario del Puente (src/studio/data/terms.ts); el resto los añadí para esta auditoría. Son los mismos textos que salen al tocar una palabra subrayada: una sola fuente, no dos.

Auditoría de solo lectura · edición histórica 1. Las comprobaciones del corte quedan explicadas arriba; no se presentan como resultados actuales.
El estado actual y la referencia del sistema viven en la sección 13 y se regeneran desde fuentes locales verificables.