## 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)
