Six phases. Each has a single owner, a small set of exit criteria, and a deliberate ordering — F2 unblocks F3 which unblocks F4. Skipping is not an option.
F2 → F3 · can’t cutover compute without observability to measure the cutover.
F3 → F4 · EventBridge → ECS only makes sense after ECS exists.
F1 → F5 · idempotency must land before decommissioning the VPS audit trail.
HubSpot API stability for /pipeline/list — any v3 deprecation forces a worker rebuild.
Airtable rate limits for high-volume inserts during dedupe + audit. Worth pre-warming the throughput conversation.
n8n Cloud uptime during F4 cutover — schedule the migration off-hours.