Enforce reorg-aware, idempotent indexing with stable event identity keys, replay safety, and clear optimistic vs confirmed consistency tiers. Use when touching DB writes or replay logic.
Instalación
Instalar con Codex o Claude Copia este prompt, pégalo en Codex, Claude u otro asistente, y deja que revise la página de la skill y la instale por ti.
Enforce reorg-aware, idempotent indexing with stable event identity keys, replay safety, and clear optimistic vs confirmed consistency tiers. Use when touching DB writes or replay logic.
Indexer Reorg + Idempotency
When to use
Adding/changing event handlers, DB schema, or replay/re-sync behavior.
Any modification to how you store logs, claims, or day/month aggregates.
Goal (Definition of Done)
✅ Every handler is safe to replay (idempotent).
✅ Reorgs do not leave “ghost” rows or double-counts.
✅ You can rebuild projections from raw events.
Canonical identity keys
Use unique keys:
(txHash, logIndex) as primary event identity (preferred)
or (blockNumber, logIndex) only if txHash is unavailable (rare)
Store raw logs in event_raw (or equivalent) to support rebuilds.
Reorg handling
On reorg, revert projections derived from orphaned blocks.