REST es el presente; el ledger es la verdad
La integración REST de un operador cuenta lo que acaba de pasar — una apuesta liquidada, una ronda reembolsada, una reconexión de sesión. El audit ledger cuenta lo que es verdad: un event stream totalmente ordenado, append-only, firmado y con timestamp, que sobrevive a cada retry, cada replay y cada inspección de regulador.
Si la superficie REST es la API, el ledger es el contrato.
Por qué entregamos el ledger a operadores
Los operadores que consumen el ledger reconcilian más rápido. Una corrida nocturna de settlement se vuelve un stream-sync; una consulta de regulador se vuelve una query, no una excavación forense. Las mesas de reconciliación dejan de construir herramientas de reconciliación.
El ledger nunca dropea eventos en silencio. Si deja de emitir, eso en sí es un evento.
Disciplina de schema, no gimnasia de schema
Versionamos la event taxonomy y gateamos breaking changes detrás de una major version, con ventana de depreciación medida en meses, no semanas. El audit ledger es la superficie donde la compatibilidad hacia atrás es más cara, así que es donde somos más disciplinados.
Idempotency keys, offsets monotónicamente crecientes, envelopes de evento firmados. Nada de eso es glamoroso. Todo eso es no-negociable.
Qué no hacemos
No colapsamos settlement en una sola llamada REST y escondemos el resto detrás de retries. No batcheamos el ledger en un file dump diario. No le decimos a operadores ‘sólo llama la API de nuevo’ cuando algo se ve raro.
El ledger es lo que construimos primero. Todo lo demás cuelga de él.