Files
trex-core/.proofline/criteria/ac-0021.md
T

1.3 KiB

id, status
id status
ac-0021 active

skipped-ledger 알림과 해결 이벤트

Criterion

unresolved ledger_skip 레코드는 best-effort·non-blocking 방식으로 deduplicated trex.alerts 이벤트를 발행해야 하며, notifier 부재나 transport 오류가 fill lifecycle을 막아서는 안 된다. 동일 unresolved event는 중복 알림 없이 1회만 알리고, 이후 정상 ledger delivery가 성공하거나 operator가 명시적으로 reconcile/resolve 하면 해당 ledger_skip 레코드는 resolved 상태로 전이되고 distinct resolved alert event를 발행해야 한다.

Verification

  • 성공 조건: 새로운 unresolved skip 1건은 trex.alerts에 ledger_skip_unresolved alarm 1건을 만들고, manual backfill 또는 operator resolve 후에는 동일 skip에 대해 ledger_skip_resolved alarm이 별도로 발행된다. 알림 publish 실패는 swallow되며 durable state 전이는 유지된다.
  • 실패·경계 조건: unresolved skip마다 중복 알림이 반복 발행됨, resolved 전이가 알림 없이 묵살됨, alert publish failure가 fill/backfill/resolve 경로를 abort시킴은 FAIL이다.
  • 검사 방법: in-memory alarm transport tests, CLI ledger backfill resolution tests, skipped-ledger resolve command tests, PostgreSQL resolution-state verification을 실행한다.