43aaf697a1
Bei Verträgen, die Vorgänger einer Folgevertrags-Kette sind, sind über ContractMeter auch Folgezähler verknüpft, die nach Vertragsende installiert wurden. Die Berechnung nahm cm.installedAt..cm.removedAt 1:1 ohne Clamp gegen Contract.startDate/endDate – damit flossen Zählerstände aus der Folgevertrags-Phase in den Verbrauch dieses Vertrags ein. Fix: meterStart = max(installedAt, contractStart), meterEnd = min(removedAt, contractEnd). Zähler komplett außerhalb der Laufzeit werden übersprungen. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>