Gate review: TelegramAdapter kept a same-named override with a weaker contract (no finite guard, negatives clamped instead of reset), so the hierarchy had two parsers under one name. Both Telegram callers pass explicit bounds; the base method is a strict superset for them. The cadence test now pins the behaviour (≤ 0.5 s / ≤ 1.0 s) instead of echoing the constant.