RxAi AMP · Agent Memory Protocol · v2.13 · patent pending
Cada recuerdo es un issue de GitHub. Los comentarios son la conversación sobre él. GitHub Actions —no ninguna IA— compila el índice. Los hooks de ciclo de vida entregan a cada agente los recuerdos que encajan con su tarea; el agente hace su trabajo y deja constancia.
Cada A/B compara, sobre un repositorio real, dos sesiones nuevas que solo difieren en si la memoria está activada, con prompts y herramientas idénticos. Sonnet 5, que lee menos, no ganó nada en esa misma ronda, así que el recuerdo ahora inyecta primero punteros y solo expande un resumen para la tarea en curso. Cómo lo medimos (en inglés) →
RxAi AMP (Agent Memory Protocol) es memoria compartida de código abierto para agentes de programación con IA como Claude Code, Codex y agy. Cada recuerdo es un issue de GitHub en un repositorio tuyo. GitHub Actions compila el índice y los hooks de ciclo de vida entregan a cada agente los recuerdos que encajan con su tarea, sin base de datos ni servidor que mantener.
No tiene relación con el agente de programación Amp de Sourcegraph, el formato de páginas AMP de Google ni AMP Limited.
El título lleva toda la información de enrutamiento. El indexador lo analiza con una expresión regular estricta: una errata rompe la indexación en silencio, así que los agentes copian plantillas y nunca improvisan.

Ningún modelo de IA interviene en los flujos de indexación: son scripts deterministas. Los agentes nunca editan los archivos de índice; pertenecen a los workflows.
Tema nuevo → issue nuevo. Respuesta → un comentario en el hilo existente. Siempre comprueba duplicados contra GitHub en vivo primero (la caché local nunca autoriza una escritura). El usuario puede lanzar la misma escritura cuando quiera con el comando /amp de abajo.
Con cada issue abierto, not_indexed.md se reconstruye a partir de todos los issues desde la última compilación: una ejecución fallida la repara la siguiente, y los recuerdos nuevos nunca quedan invisibles.
Reconstruye INDEX.md (siempre pequeño: solo resúmenes) y las tablas de punteros REGION-*.md por área, aplica el decaimiento de pesos y los deltas de resultados, y persiste weights.json.
La misma ejecución proyecta cada issue en un paquete OKF v0.1 (okf/) y un rows.ndjson listo para BigQuery. Ambos son derivados y de solo lectura: los issues siguen siendo la única fuente de verdad.
Un comando slash de Claude Code invocable por el usuario, instalado a nivel de usuario (~/.claude/commands/amp.md) para funcionar desde cualquier proyecto. Los hooks se disparan según su calendario; /amp se dispara cuando tú lo dices. Los formatos siguen viniendo de la skill rxai-amp: el comando es el CUÁNDO, la skill es el CÓMO. El menú muestra tanto /amp como /rxai-amp: escribe /amp — carga la skill (el reglamento) por sí solo.
Dónde publica — precedencia de resolución. El archivo de configuración supera a la autodetección del repo por diseño: un solo cerebro compartido, el mismo destino desde cualquier carpeta. Anúlalo por ejecución con RXAI_AMP_SLUG.
Antes de cada escritura consulta el estado en vivo de GitHub para detectar duplicados y luego publica un issue con etiquetas canónicas mediante la CLI gh (labels from: / type: / unindexed). npm run hooks:install:claude instala el comando, la skill y la configuración en un solo paso.
v2.8 mecaniza las tres obligaciones (recordar, registrar, calificar): los hooks deciden el cuándo (disparadores deterministas que el modelo no puede olvidar), la skill rxai-amp enseña el cómo (formatos exactos) y un libro de sesión local los conecta.
Al iniciar la sesión, los hooks ponen en el contexto el índice y punteros a los recuerdos de este repositorio. Al escribir un prompt, los registros relacionados se expanden en un breve resumen. El agente no decide recordar; el recuerdo le sucede.
session-start.mjs pone INDEX.md, not_indexed.md y los punteros coincidentes en la sesión antes de tu primer prompt; user-prompt-submit.mjs expande los registros que toca cada prompt, cada uno como mucho una vez por sesión.
Cada git commit se registra como frontera de trabajo; un recordatorio [AMP] aparece en la propia salida del commit. Cinco commits = una obligación, no cinco.
adapters/git-hooks/post-commit lo imprime; post-tool-use.mjs registra la frontera. Solo cuenta un git commit real.
La sesión no puede terminar en silencio: un checkpoint bloquea una vez hasta que el agente publica la conclusión — o declina explícitamente con una razón de una línea. «Nada que valga la pena guardar» es válido; el silencio no.
adapters/claude-code/hooks/stop.mjs bloquea una vez. Publica la conclusión o declina con una razón: el libro recuerda cuál.
Cada recuerdo del que la sesión dependió recibe un comentario Outcome:. Los no usados no reciben nada: sin actividad falsa.
El manifiesto ## Recall del resumen lista lo usado; amp-librarian.yml lo audita a diario.
El recuerdo se entrega, no se ejecuta. Los hooks inyectan la capa de punteros antes de la primera acción del agente y solo expanden un resumen para la tarea en curso, así que el contexto se mantiene pequeño por muchos recuerdos que se acumulen; los archivos de área son para hojear, nunca para recordar.
Los punteros llegan en orden fijo: la meta antes que los pasos, las dudas antes que la confianza: intent → facts → pattern → invalidation → discovery → events.
Cada recuerdo lleva un peso que decae con el tiempo y se mueve con los resultados reales: los patrones probados flotan, los rotos se hunden, sin limpieza manual.
| Señal | Efecto |
|---|---|
| comentario Outcome: success | +0.30 |
| comentario Outcome: failure | −0.20 |
| sin marcador / neutral | 0, solo decae |
| type:lifefact (dato personal permanente) | fijado en 1.0, nunca decae |
| Supersedes: #N en una invalidación | → 0, archivado de inmediato |
Los niveles cambian lo que es mecánico, nunca lo que es obligatorio. El nivel lo fija el entorno: todo lo que puede ejecutar hooks es L2, y L1 queda solo para los entornos que no pueden. Un adaptador roto jamás bloquea el trabajo real del usuario: en un entorno con hooks se degrada a un recuerdo silencioso (el agente indica una vez cómo restaurar los hooks), nunca a leer el índice a mano.
El agente sigue el protocolo escrito voluntariamente.
Sin instalación. El agente lee PROTOCOL.md y cumple porque se lo pidieron. Todos empiezan aquí.
Listas de verificación cargadas en contexto: la skill o un resumen de configuración.
OpenClaw · Hermes. Un espejo de la skill y un resumen del §15 se insertan en el archivo que cada uno siempre carga. Contexto, no obligación.
Hooks deterministas + libro de sesión interponen checkpoints reales.
Claude Code · Codex · agy. Los hooks se disparan fuera del modelo, así que olvidar no es una opción. El libro en ~/.rxai-amp/ es solo orientativo.
Un futuro servidor MCP validará cada escritura antes de llegar a GitHub.
No disponible. Un servidor MCP rechazaría un título mal formado antes de que fuera un issue. Hoy vive en la skill: orientación, no barrera.
Medido en ambos niveles con Codex, con las mismas tareas y el mismo almacén de memoria:
El nivel decide si la memoria puede amortizarse; que lo haga depende de cuánta lectura sustituya.
Adoptar el protocolo solía requerir ~15 pasos manuales. Ahora la plantilla incluye un asistente conforme a §15.5: clona y un solo comando te lleva a un repositorio de memoria en funcionamiento — incluidos los pasos que nada automatizaba antes (permiso de escritura de Actions, siembra de etiquetas §6, domar el cron diario del Librarian) — y se comprueba a sí mismo con un issue de prueba de extremo a extremo real. Idempotente: volver a ejecutarlo es el mecanismo de reanudación; nunca resetea un repo en producción y nunca hace push a la plantilla.