alethech

Memoria verificable de agente: cada commit de memoria está firmado con Ed25519 y encadenado por hash con verificación de cierre ante fallos (84+ commits, 0 inválidos). Recuperación totalmente offline mediante TF-IDF (cero tokens de LLM en tiempo de ejecución), auditoría de artefactos sha256 sellada en la cadena, instantáneas duraderas de commits huérfanos con cero filtración de secretos, simulacro de recuperación ante desastres medido en 42 segundos. Servidor MCP stdio incluido (pip install alethech).

Documentación

alethech

PyPI version Python License: MIT CI Mutation paths Coverage Type hints GitHub Repo stars

Protocolo verificable de continuidad de agentes — local-first, cero-LLM, cero-blockchain. El arte de des-ocultar la integridad de la transmisión.

Copyright (c) 2026 AliceLabs LLC.

Listado en TeleAI-UAGI/Awesome-Agent-Memory (proyectos emergentes) tras una auditoría de mantenimiento de las afirmaciones contra el código.

Ahora en el registro oficial de MCP: io.github.eddyflores100-lang/alethech — el puente de solo lectura alethech-mcp, detectable por cualquier cliente MCP compatible con el registro.

Si alethech te resulta útil, una ★ estrella es cómo otras personas — y sus agentes — lo encuentran.

Del griego ἀλήθεια (aletheia, "verdad como des-ocultamiento") + τέχνη (techne, "arte, oficio"). El arte de revelar que una memoria no fue modificada después de ser firmada.

Esta es la implementación de referencia del protocolo especificado en docs/implementacion-nucleo-minimo.md (rev 2 + capa de identidad rev 3).

qué es esto

alethech proporciona continuidad de memoria criptográficamente verificable y portable para agentes de IA. Firma confirmaciones de memoria con Ed25519, las enlaza en un DAG con hash encadenado, rota claves sin perder identidad, y puede sellar un historial verificado en un único archivo .aleth cifrado para transferencia entre runtimes y dispositivos compatibles.

Lo que este repositorio ES:

  • Una implementación de protocolo criptográfico (Ed25519 + SHA-256 + JCS RFC 8785)
  • Un contenedor de memoria portable cifrado (.aleth, scrypt + AES-256-GCM)
  • Una vista de adaptador verificada y neutral para plugins e integraciones de chat
  • Un puente MCP stdio de solo lectura (python -m alethech.mcp_memory, o alethech-mcp después de pip install alethech) que expone contexto de memoria verificado y herramientas de verificación — las credenciales y rutas permanecen en la configuración, nunca en argumentos de herramientas
  • 9 comandos CLI (init, commit, evidence, verify, export, import, migrate, key rotate, key revoke)
  • Una suite de pruebas con rutas de guardia contra mutaciones (cada garantía tiene una prueba que falla cuando la verificación es derrotada)
  • Licencia MIT, publicado en PyPI como alethech

Lo que este repositorio NO es:

  • NO es un sistema de almacenamiento o recuperación de memoria
  • NO es el proyecto heredado memex (servidor de memoria Python/ChromaDB)
  • No tiene Docker, sin auto-actualización, sin llamadas LLM, sin nube requerida
  • Depende solo de cryptography y click — sin mem0ai, sin chromadb, sin ollama

El código base heredado memex (167 commits, Licencia Propietaria AliceLabs) se conserva en un repositorio separado: eddyflores100-lang/memex-legacy. No forma parte de este repositorio y no se instala con pip install alethech.

la propiedad

Este conjunto de memoria forma parte de un historial criptográficamente verificable asociado a una identidad determinada, cuyas confirmaciones pueden verificarse de forma independiente con respecto a su integridad, autoría criptográfica y relaciones de procedencia.

Cuando existe un punto de control de referencia, también puede verificarse que el historial presentado continúa desde ese punto de control.

El protocolo NO prueba que las afirmaciones del agente sean verdaderas — solo que fueron firmadas por la identidad que las reclama. La verdad que se des-oculta es la verdad sobre la integridad de la transmisión, no sobre el contenido.

estado

Versión publicada 0.9.1 — memoria portable cifrada (.aleth v2 con recuperación ALETH002 en Python, TypeScript y Rust) y captura de chat en memoria portable están activas. CI ejecuta la suite de Python en 3.10–3.13 más conformidad entre lenguajes e interoperabilidad .aleth en Python, Rust y TypeScript. Sin LLM, sin nube requerida, sin blockchain, sin consenso.

instalación

pip install alethech

Para desarrollo:

git clone https://github.com/eddyflores100-lang/alethech.git
cd alethech
pip install -e ".[dev]"

uso

alethech init                              # generate identity + genesis commit
alethech commit --content <json-file>      # create signed MemoryCommit
alethech evidence --tool <name>            # create signed EvidenceCommit
  --input <file> --output <file>
alethech verify                            # verify the whole store, offline
alethech export --output <dir>             # portable package
alethech import --input <dir>              # import external memory
alethech key rotate                        # rotate operational key
alethech key revoke --key-id <id>          # revoke a key
alethech migrate --to v0.2                  # migrate identity layer

captura un chat, lleva el archivo

Usa el icono de la barra de herramientas de Alethech para capturar la conversación cargada, revisarla y crear un .aleth cifrado con una nueva identidad local y código de recuperación. Lleva ese archivo a otro dispositivo, chat o IDE. La extensión lo importa e inserta contexto seleccionado en un editor de chat vacío solo a petición; nunca envía. Para cualquier cliente capaz de texto, exporta context.txt. Los clientes MCP pueden usar el conector de memoria local de solo lectura. Un único alethech.html sin conexión también abre/crea archivos sin instalar una extensión ni registrar una cuenta.

Consulta la guía completa de captura y transferencia y configuración IDE/MCP. La captura requiere solo activeTab y scripting, sin permiso global de host o almacenamiento. La captura de chat renderizada no puede recuperar memorias ocultas del proveedor ni historial de conversación no cargado.

memoria portable cifrada (.aleth)

El desarrollo de Alethech 0.9 añade un único archivo cifrado diseñado para transferencia por arrastrar y soltar:

from alethech import Alethech

agent = Alethech.initialize("./working-store")
agent.commit({"fact": "portable memory"})
agent.seal("memory.aleth", "your-passphrase")

# Plugin-style path: dropped file -> unlock -> verify -> neutral context
context = Alethech.drop_context("memory.aleth", "your-passphrase")

El contenedor .aleth usa scrypt + AES-256-GCM. Su carga útil autenticada puede abrirse byte a byte exactamente por las implementaciones de Python, Rust y TypeScript en CI. El archivo portable puede llevar la clave de firma operativa cifrada para que el historial continúe en otro dispositivo, pero excluye root.key y recovery.key.

Consulta docs/ALETH_CONTAINER_SPEC.md y docs/ADAPTER_CONTRACT.md.

lo que NO hace

  • NO prueba que las afirmaciones del agente sean verdaderas. Solo que fueron firmadas por la identidad que las reclama.
  • NO detecta reversión sin un punto de control externo.
  • El almacén de trabajo local NO está cifrado en reposo; el contenedor portable .aleth está cifrado.
  • NO delega permisos entre agentes.
  • NO llama a ningún LLM.

qué significa el nombre

alethech proviene de:

  • aletheia (ἀλήθεια) — griego para "verdad", más precisamente "des-ocultamiento" (lectura de Heidegger: la verdad como el acto de revelar lo que estaba oculto)
  • techne (τέχνη) — griego para "arte, oficio, técnica"

Así que alethech = "el arte de des-ocultar". El protocolo des-oculta:

  • si una memoria fue modificada después de ser firmada
  • quién la firmó
  • qué marca de tiempo firmada se registró (NO el tiempo físico de firma — solo la marca registrada en el artefacto)
  • cuál es su procedencia
  • si la cadena de custodia está intacta

NO des-oculta si el contenido es verdadero — eso es responsabilidad del agente, no del protocolo.

pruebas

python -m pytest tests/

La suite de pruebas de Python cubre:

  • primitivas criptográficas (Ed25519, SHA-256, base64url, base32)
  • canonicalización JCS (RFC 8785) — 56 vectores de conformidad incluyendo:
    • serialización de enteros/flotantes según ECMAScript Number.prototype.toString()
    • -0 se serializa como "0" (según errata de RFC 8785, NO se preserva)
    • formato de notación científica (los exponentes positivos mantienen '+', los negativos eliminan ceros iniciales)
    • umbral decimal vs científico (1e21 / 1e-6)
    • ordenamiento de claves UTF-16 con pares sustitutos
    • escape de cadenas (caracteres de control, preservación de no-ASCII)
    • rechazo de NaN/Infinity
  • derivación de agent_id (vinculación criptográfica a public_key)
  • firma de MemoryCommit, detección de manipulación, rechazo de clave incorrecta
  • firma de EvidenceCommit (soporta identidad heredada y V2)
  • los 9 comandos CLI (init, commit, evidence, verify, export, import, migrate, key rotate, key revoke)
  • emisión de puntos de control + detección de reversión + continuidad causal (verificación de ascendencia)
  • detección de identity_mismatch
  • preservación de ida y vuelta en export/import
  • rechazo de manifiesto manipulado
  • rotación de claves con garantía de alcanzabilidad de cutoff_head
  • guardia de mutación de ancestry_check (3 derrotas a nivel de código)
  • derrotas de recall-seam (2 mutaciones a nivel de datos: manipulación de claves activas, mutación de cutoff_head)
  • vinculación de root_id (RootAuthority ↔ IdentityRecord ↔ ControlEvent)
  • continuidad de puntos de control (el HEAD del punto de control debe ser ancestro del HEAD actual)
  • verificación de firma de IdentityRecordV2 (contra la clave pública raíz)
  • continuidad causal de importación (verificación de ascendencia antes de escribir)
  • endurecimiento de importación (symlinks, traversal de rutas, bombas de archivo, verificación de hash de artefactos)

estructura del repositorio

alethech/                    # this repo — cryptographic protocol only
├── alethech/                # source: crypto, objects, store, verify, cli, canonical
│   └── integrations/        # langchain + memex hooks
├── alethech-rs/             # Rust SDK (31 tests, cross-validation)
├── alethech-ts/             # TypeScript SDK (15 tests, Web Crypto API)
├── tests/                   # Python behavioral, adversarial, mutation and conformance tests
├── conformance/             # 15 adversarial conformance vectors
├── docs/                    # protocol specification
├── examples/                # basic_usage.py + memory_writeback.sh (ops pattern)
├── INTEGRATION.md           # how to integrate with memex via MemexAlethechHook
├── INTEGRATION-VIGIL.md     # fail-closed memory verification for watchdogs
├── CHANGELOG.md             # version history
├── SECURITY.md              # threat model + vulnerability policy
├── CONTRIBUTING.md          # dev setup + PR process
├── CODE_OF_CONDUCT.md      # Contributor Covenant
├── CITATION.cff             # academic citation
├── LICENSE                  # MIT
├── README.md                # this file
└── pyproject.toml           # alethech 0.9.1, deps: cryptography + click only

validación entre lenguajes

El protocolo está implementado en tres lenguajes independientes:

LenguajePruebasDependencias
Pythonsuite CIcryptography + click
Rust31ed25519-dalek, sha2, serde
TypeScript150 (solo Web Crypto API)

Los tres usan los mismos vectores de prueba SHA-256 de NIST, vectores base32 de RFC 4648 y vectores de conformidad JCS de RFC 8785. La afirmación entre lenguajes está respaldada por un arnés ejecutable:

python conformance/cross_language_check.py

Esto ejecuta las tres implementaciones contra los mismos fixtures compartidos en conformance/ y afirma acuerdo byte a byte exacto en bytes canónicos para fixtures aceptados. La ejecución predeterminada es de cierre por fallo: salida 0 = los tres se ejecutaron y coinciden, 1 = desacuerdo, 2 = una implementación/runtime no está disponible. CI compila el helper de Rust y ejecuta el arnés de tres runtimes. Consulta conformance/CROSS_LANGUAGE.md para el contrato y cómo añadir una cuarta implementación.

licencia

MIT.

repositorios relacionados

  • eddyflores100-lang/memex-legacy — Código base heredado de Memex (167 commits, Licencia Propietaria AliceLabs). Sistema de memoria Python/ChromaDB con integración MCP. Preservado para referencia histórica. NO se instala con pip install alethech.

Copyright (c) 2026 AliceLabs LLC. Licencia MIT.