Por qué es así de pequeño
Solo lo que dos extraños deben compartir.
La mayoría de los protocolos crecen hasta que nadie puede sostener uno en la cabeza. Quo guarda una frase por una de dos razones: sin ella, dos programas que nunca se conocieron leerían los bytes de distinta manera, o ningún programa puede aportarla por sí solo. Todo lo demás queda para quien escribe el código.
Dos criterios deciden cada frase.
Una frase pertenece a SPEC.md cuando se cumple uno de ellos.
Dos extraños deben coincidir en ella
Dos kits que nunca se conocieron no podrían intercambiar bytes correctamente si ambos no leyeran la frase del mismo modo.
Ningún kit puede aportarla
Ningún kit podría aportarla por sí mismo.
Lo que no cumple ninguno de los dos no es de Quo. Ni se pide ni se prohíbe, y si es una elección real, la pregunta KIT-SPEC.md.
La forma de la spec.
- Cada regla dice qué significan unos bytes. Ninguna regla dice que alguien deba hablar.
- Ninguna frase se explica a sí misma. Las razones viven junto a la spec.
- Ninguna palabra nombra lo que hay detrás de una puerta.
- Ningún lenguaje es una autoridad. JSON se lee por sus RFC.
- Cada término se define donde se introduce.
- Una idea por frase, tiempo presente, ninguna versión antes de 1.0.0.
Nadie debe hablar
Una regla dice qué significan unos bytes cuando se envían, y nunca que alguien deba enviarlos.
Nada tras la puerta
Lo que hay detrás de una puerta nunca se nombra y nunca se cuenta.
El modelo es JSON, no XML: una gramática que cualquiera lee, sin opinión sobre lo que se escribe en ella.
Todo lo que un kit podría decidir se quita de la spec, por sensato que sea, porque una spec que contiene la opinión de un kit es un kit.
Qué rechaza Quo.
En SPEC.md
Todo lo que un kit podría decidir, todo lo que ningún otro kit puede observar, una imagen, una razón, un lenguaje como autoridad, un recuento de lo que hay detrás de una puerta.
En KIT-SPEC.md
Cualquier respuesta. Pregunta, y cada kit responde por sí mismo.
En el verificador
Un fallo por una elección que KIT-SPEC.md deja a un kit, y un juicio sobre si un kit es bueno.
En cualquier parte de Quo
Consejos, un kit favorito o el nombre de cualquiera que lo adopte.
Nunca
Alojar, registrar, listar o dirigir.
El día que Quo opere un servicio, es un producto.
Qué hay a su lado.
Ninguna idea de Quo es nueva por sí sola. Lo nuevo es mantenerlas juntas como un lenguaje pequeño, fijado byte a byte, que un extraño comprueba sin conocer a nadie.
Quo es la puerta y lo que la cruza. Lo que vive dentro del muro, y el pliegue de fuera, no son de Quo, y ahí es donde difiere cada vecino de abajo.
OCapN y CapTP
Capacidades de objeto entre máquinas.
Sin sesión. Cada petición se sella y se firma sola, las claves se mueven en cada elección por encima de la más alta ya atendida, y los extraños encuentran un único silencio.
Cap'n Proto RPC
Referencias con autoridad, dentro de una conexión.
La referencia sobrevive a cualquier conexión.
gRPC o REST con OAuth o mTLS
Una llamada a un servicio operado.
Sin servicio y sin cuenta.
Signal, MLS
Mensajes privados a través de un servidor.
El mismo cuidado con las claves, sin servidor en el camino.
Noise, TLS, WireGuard
Un canal seguro.
Consentimiento por relación, sobre cualquier canal o ninguno.
libp2p, servicios onion
Alcanzar a un par por su clave.
En una relación, solo se escucha a una clave invitada.
Macaroons, UCAN
Tokens de capacidad al portador.
Una invitación es al portador solo hasta que una puerta elige ante una llamada.
MCP y protocolos de agentes
Modelos que llaman a herramientas y agentes.
La capa de relación bajo ellos. Un describe se vuelve su lista de herramientas con solo renombrarlo.
Para quién es Quo.
Quien escribe un kit
En cualquier lenguaje, solo con los documentos.
Quien evalúa
Comprueba la puerta con el verificador y sin permiso de nadie.
El modelo
Recibe los documentos para escribir un kit. Por eso cada frase contiene una idea y cada regla se enuncia en un solo lugar.