Especificación

El borrador v0.2 de la especificación define cinco niveles de conformidad acumulativos, de L0 Files a L4 Sync. Cada nivel corresponde a un conjunto de conceptos y a un conjunto de pruebas de aceptación ejecutables; una afirmación de “compatible” sin un conformance.json no se acepta.

v0.2 Borrador de especificación Actualizado

Borrador

Todavía no hay implementación de referencia ni una suite de conformidad ejecutable. Las pruebas de aceptación de abajo forman parte de la especificación: su función es que la palabra “compatible” se pueda comprobar.

Componentes de la especificación

ComponenteContenidoVersión objetivo
CoreLos seis sustantivos, el contrato de Store, las ramas y los árboles protegidos, las fusiones, el borrado lógico.Borrador v0.3
Lease & RecordEl formato de la concesión (un perfil de authorization_details), el formato de los registros y de los manifiestos de lectura, explain.Borrador v0.3
InterfacesSemántica del montaje, las proyecciones de Git y S3, la API HTTP, la superficie de herramientas MCP.Borrador v0.4
MemoryConvenciones de notas, derivados y recetas, lecturas con presupuesto, punteros de evidencia.Borrador v0.4
GuardEtiquetas, contaminación de sesión, el perfil de políticas, las Gate Cards, el informe de olvido.Borrador v0.5
SyncPaquetes de traspaso, umbrales de etiquetas, lápidas (tombstones).Más adelante
Conformance SuitePruebas de aceptación ejecutables para cada nivel.A la par de cada versión

Niveles de conformidad

Los niveles son acumulativos: para afirmar L2 hay que cumplir también L0 y L1.

NivelNombreConceptos que cubreEn una línea
L0FilesAgent Home, Agent BranchUn directorio con historial.
L1AuthorityFlight Recorder, Capability Lease, Human GateQuién hizo qué, y con qué autoridad.
L2MemoryAgent Memory, Budgeted ReadsUna memoria que se puede leer y mover.
L3GuardTrust Labels, Cascade ForgetLimitar las consecuencias.
L4SyncNinguno (opcional)Varios nodos.

L0 Files: un directorio con historial

  1. Cambiar archivos en una rama de ejecución deja intacta la línea principal protegida.
  2. Una escritura directa en un árbol protegido se rechaza, incluso con credenciales válidas.
  3. Cuando se borra un archivo de un árbol protegido, se puede restaurar desde la papelera.
  4. Exportar y luego importar produce un árbol y un historial idénticos byte a byte.
  5. Se ofrecen al menos dos vistas estándar: montaje y Git, o una de ellas más S3.

L1 Authority: quién hizo qué, y con qué autoridad

  1. Una solicitud sin concesión se rechaza, y el rechazo se registra.
  2. Se rechaza la solicitud de una concesión hija más amplia que su padre.
  3. Cuando una concesión caduca, el montaje pasa a solo lectura; la revocación surte efecto dentro del límite de tiempo que declare la implementación.
  4. Ninguna concesión puede borrar una instantánea.
  5. Para cualquier commit, explain devuelve la ejecución, la concesión y el manifiesto de lectura que lo produjeron.
  6. La verificación de la cadena de registros pasa; tras manipular un registro, la verificación falla.
  7. Al fusionar en un árbol protegido, la Gate Card muestra un diff calculado por el NAS, y la aprobación queda ligada a un digest: si cambia el diff, la aprobación queda anulada.

L2 Memory: una memoria que se puede leer y mover

  1. Tras borrar y reconstruir todos los índices, pasan las pruebas de recuperación de referencia (golden recall).
  2. Las notas se pueden leer sin la capa Memory.
  3. Cada derivado lleva una receta y sus entradas.
  4. Una lectura con presupuesto degrada la calidad cuando el presupuesto es demasiado pequeño, y declara la vista que realmente devolvió.
  5. Los punteros de evidencia se pueden verificar: después de que cambien los commits, un puntero sigue apuntando al contenido original.

L3 Guard: limitar las consecuencias

  1. Con una concesión que incluye B y C, cuando una sesión que leyó contenido external activa una acción de clase C, se rechaza o se pasa a una compuerta.
  2. Un derivado hereda la unión de las etiquetas de sus entradas.
  3. Las notas escritas por una sesión contaminada no se cargan automáticamente.
  4. Una solicitud de olvido produce un informe que incluye “lo que no se cubre”; una retención legal puede bloquear el olvido.
  5. La evaluación de políticas no llama a un LLM: el motor de políticas no hace llamadas salientes a un modelo, de modo que se puede auditar.

L4 Sync: varios nodos

  1. Cuando dos nodos se sincronizan, los árboles son idénticos.
  2. Los objetos de sensibilidad muy alta no se envían a un nodo con una acreditación inferior.
  3. Las lápidas del olvido se propagan al par.
  4. Un paquete de traspaso se puede ejecutar en el par, y las concesiones solo se estrechan.

El formato de declaración

Una implementación debe publicar un conformance.json que indique el nivel con el que cumple, el resultado de cada prueba y las desviaciones conocidas. Una afirmación de “compatible” sin este archivo no se acepta.

conformance.json
{
  "implementation": "example-nas",
  "version": "0.1.0",
  "spec": "0.2",
  "level": "L1",
  "tests": { "L0.1": "pass", "L0.2": "pass", "L0.3": "pass", "L0.4": "pass", "L0.5": "pass",
             "L1.1": "pass", "L1.2": "pass", "L1.3": "pass", "L1.4": "pass",
             "L1.5": "pass", "L1.6": "pass", "L1.7": "pass" },
  "deviations": ["L1.3: revocation takes effect within 60 seconds"]
}

Versiones y compatibilidad

  • Versionado semántico. No se garantiza compatibilidad durante 0.x.
  • Los campos nuevos son retrocompatibles.
  • Un campo obsoleto mantiene un período de aviso de al menos una versión.

Lo que la especificación todavía no cubre

Los detalles de versión de los protocolos de transporte, un lenguaje de políticas concreto, el algoritmo de firma de los tokens, motores de almacenamiento concretos y las interfaces de usuario.

Citar esta página

Direcciones estables y una cita sugerida para personas, buscadores y agentes.

Cita sugerida
Agent NAS project. “Especificación.” agentnas.com, 2026-11-11. https://agentnas.com/es/spec/