Series episode memory_at used datetime.utcfromtimestamp() on values produced by datetime.timestamp(). That yields a naive UTC datetime, which the vector payload later re-interprets as local time, shifting the stored timestamp by the machine's UTC offset (8 hours on Asia/Shanghai). Round-trip through datetime.fromtimestamp() instead, and cover the wall-clock round trip with a non-UTC TZ regression. Co-authored-by: qiye.sjh <shijiahao_0802@youzan.com> Co-authored-by: Claude Code <noreply@anthropic.com>