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.
설치
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
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.