feat: server-side deployment policy adoption (Phase 2)
Server now uses policy rules for all deployment decisions:
- Add Policy.from_legacy/1 to convert old subscription fields to policy rules
- Server converts old-format subscriptions at registration time
- Replace within_window? with Policy.evaluate in DeploySubscription worker
- Replace allow_realtime filter with policy-based realtime trigger check
- Add policy evaluation gate in deploy_subscription/2 entry point
- Add user_retry and poll_on_connect to deployment_event_reason enum
- Change retry reason from :retry to :user_retry
- Display policy rules on subscription show page
- Update all affected tests
Old gardens without policy field continue to work via from_legacy conversion.
sow-162
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This is a binary file and will not be displayed.