Prolly es una biblioteca en Rust publicada como crate que ofrece un índice clave-valor ordenado e inmutable construido sobre árboles de prólly, una estructura con direccionamiento por contenido. Cada nodo se identifica mediante un CID calculado como el hash SHA-256 de sus bytes deterministas, lo que permite compartir estructura entre versiones, calcular diferencias eficientes podando CIDs iguales y realizar fusiones en tres vías con soporte para estrategias de resolución de conflictos estilo CRDT.
La API expone un identificador persistente ligero (Tree) con la raíz del árbol y la configuración de fragmentación; las operaciones de escritura, borrado y lote devuelven una nueva instancia sin modificar el original, manteniendo la inmutabilidad. El motor de almacenamiento es asíncrono de forma nativa y se integra con PostgreSQL, MySQL, Redis, Turso, DynamoDB, Cosmos DB y Spanner, además de admitir almacenes en memoria, SQLite y RocksDB. Existe también una fachada síncrona que no crea runtime ni aparca hilos.
Entre sus capacidades figuran indexación secundaria estricta mediante IndexedMap con publicación atómica de raíz, iteración por rangos con cursores, pruebas criptográficas de existencia (pruebas Merkle) sobre raíces y rangos, sincronización entre almacenes y un mapa de proximidad para búsqueda aproximada de vecinos más cercanos con aceleraciones SQ8, PQ y HNSW. El repositorio incluye ejemplos ejecutables, documentación, cookbook, especificación de diseño y una propuesta de capa VCS tipo Git construida sobre el mismo sustrato.
