{"ticker":"XYL","composite":68,"action":"WATCH","price":104.57,"change_5d":3.61,"gates":{"price":true,"catalyst":true,"flow":true,"risk":false},"gate_reasons":[{"key":"price","pass":true,"reason":"Structure clears — gates.price or composite ≥ 55 (score 68)"},{"key":"catalyst","pass":true,"reason":"EARNINGS on the card (21d)"},{"key":"flow","pass":true,"reason":"Flow ok (vol 1.4× · CMF -0.12)"},{"key":"risk","pass":false,"reason":"R:R 0.6:1 below 1.0 — not ENTER"}],"demotion":"WATCH: R:R 0.6:1 below 1.0","components":{"rsi":44,"macd":73,"squeeze":57,"atr":27,"cmf":40,"volume":50,"momentum":79,"relStr":57},"verdict":"WATCH","edge_score":40,"rr":0.6,"off_index":false,"generated_at":"2026-10-07T03:45:26.912Z","engine_version":"5.0.0","source":"analytics24-engine","docs":"https://www.analytics24.com/developers"}