Summary
There is no measurement of how long payments take to settle or how far behind the poller's cursor is.
Location
src/horizon.rs (poller/stream loops log but don't measure lag)
Details & impact
Silent degradation (e.g., stalled stream falling back to polling) is invisible until a merchant complains.
Suggested fix
Track cursor age and settlement latency as metrics; alert on thresholds.
Acceptance criteria
- Cursor age and settlement latency are observable.
Summary
There is no measurement of how long payments take to settle or how far behind the poller's cursor is.
Location
src/horizon.rs(poller/stream loops log but don't measure lag)Details & impact
Silent degradation (e.g., stalled stream falling back to polling) is invisible until a merchant complains.
Suggested fix
Track cursor age and settlement latency as metrics; alert on thresholds.
Acceptance criteria