Un recibo por cada acción de peso.
Por cada acción que importa, AXR emite un recibo: la acción realizada, hashes de sus entradas y salidas, una marca de tiempo, la identidad del agente, y una firma Ed25519 sobre el registro canonicalizado. Prueba una cosa con precisión — que un flujo dado, sobre una entrada dada, tomó una decisión dada, y que el registro no ha cambiado desde entonces.
Eso compra dos cosas distintas. La resistencia a manipulaciones es el suelo criptográfico: la firma prueba que el registro no ha cambiado. La legibilidad del comportamiento es lo que se gana el pan a diario — el recibo hace el comportamiento real del flujo lo bastante legible como para que una contradicción interna salga a la luz incluso cuando nada fue manipulado y cada firma es válida.
Deliberadamente no es un constructor de flujos, ni un framework de agentes, ni una plataforma de observabilidad. Es la fina capa de rendición de cuentas que se sitúa por debajo de esas herramientas. Dos tipos de recibo cargan el peso: un recibo de paso registra un único nodo relevante para la decisión, y un recibo de flujo encadena los pasos de una ejecución en un registro firmado y encadenado. Los pasos se encadenan dentro de una ejecución; las ejecuciones se encadenan a lo largo del historial del agente — así, borrar cualquier recibo rompe la cadena, y alterar cualquier recibo rompe la firma.
Recibo de paso ilustrativo — la forma de una acción firmada
{
"axr_version": "0.2.1",
"agent_id": "axr:agent:eco-clean:v5.1",
"step": { "name": "Create Booking", "kind": "side_effecting" },
"io": {
"input_hash": "sha256:9f2c…b41a",
"output_hash": "sha256:1d7e…0c88",
"decision": "BOOKING_CONFIRMED"
},
"logic_version": "5.1",
"logic_hash": "sha256:a3b9…77e2",
"previous_receipt_hash": "sha256:5c10…d9f3",
"timestamp": "2026-06-13T09:14:22Z",
"signature": "ed25519:K8f…/Qb2Aw=="
} Firma válida Cambia un byte de cualquier campo y la firma ya no verifica. Ese es todo el principio — y basta.