[
  {
    "type": "insert",
    "description": "Spec 049 T1.3: Seed breakPolicyPreset row for NY-2025 (New York 2025)",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT 1 FROM breakPolicyPreset WHERE presetKey='NY-2025' AND version=1 LIMIT 1",
    "sql": "INSERT INTO breakPolicyPreset (presetKey, name, description, jurisdiction, jurisdictionCode, effectiveDate, version) VALUES ('NY-2025', 'New York 2025', NULL, 'state', 'NY', '2025-01-01', 1)"
  },
  {
    "type": "raw_sql",
    "description": "Spec 049 T1.3: Seed breakPolicyPresetRule rows for NY-2025 (3 rules: meal x2, flsaCutoff)",
    "database": "kiosk_buykiosk",
    "check_query": "SELECT 1 FROM breakPolicyPresetRule r INNER JOIN breakPolicyPreset p ON r.presetId = p.id WHERE p.presetKey = 'NY-2025' AND p.version = 1 LIMIT 1",
    "sql": "INSERT INTO breakPolicyPresetRule (presetId, priority, ruleType, triggerShiftMinHours, triggerStartTimeWindow, durationMinutes, durationToleranceMinutes, isPaid, isRequired, premiumPayOnViolation, premiumPayHours, notes) SELECT id, 10, 'meal', 6.00, '11:00-14:00', 30, 0, 0, 1, 0, 0.00, 'LEGAL REVIEW PENDING: Mid-day meal 30min unpaid for non-factory shifts >=6h spanning the noon period. NY Labor Law §162(2). Trigger encoded as 11:00-14:00 window; statute language is ''between 11 AM and 2 PM''.' FROM breakPolicyPreset WHERE presetKey = 'NY-2025' AND version = 1 UNION ALL SELECT id, 20, 'meal', 7.00, '17:00-19:00', 20, 0, 0, 1, 0, 0.00, 'LEGAL REVIEW PENDING: Additional 20-min unpaid meal for shifts starting before 11:00 and ending after 19:00. NY Labor Law §162(4). Statute is shift-shape conditional (''starts before X AND ends after Y''); current schema can only encode start-time window. Window 17:00-19:00 is best-effort; evaluator extension may be needed in v2.' FROM breakPolicyPreset WHERE presetKey = 'NY-2025' AND version = 1 UNION ALL SELECT id, 100, 'flsaCutoff', NULL, NULL, 20, 0, 1, 0, 0, 0.00, '29 CFR 785.18 final classifier.' FROM breakPolicyPreset WHERE presetKey = 'NY-2025' AND version = 1"
  }
]
