## ADDED Requirements ### Requirement: Paid-order gating in alert decision The alert decision (`shouldAlert`) SHALL return false when the tag's linked order exists and is not `paid`. #### Scenario: Lapsed tag scan - **WHEN** a scan arrives on a tag with a non-paid order - **THEN** `shouldAlert` returns false (record only) ### Requirement: Cap checks in alert decision The alert decision SHALL respect the per-tag daily cap and per-IP hourly rate limit. #### Scenario: Over cap - **WHEN** the daily or hourly counter is exceeded - **THEN** `shouldAlert` returns false (record only)