Gap in aggregated timeseries data using Continuous Aggregate

Hello, I am using Timescale 2.16.1 and am having an issue with a real-time continuous aggregate missing data. The continuous aggregate joins between a hypertable and some regular tables, so to keep track of changes to the regular tables, I delete and recreate the continuous aggregates on a weekly cron schedule:

DROP MATERIALIZED VIEW IF EXISTS my_cagg_weekly;

CREATE MATERIALIZED VIEW IF NOT EXISTS my_cagg_weekly
with (timescaledb.continuous) as
SELECT
    time_bucket( '1 week', observation_timestamp) as timestamp,
    var1,
    var2
FROM myhypertable
JOIN nonhypertable
WITH NO DATA;

CALL refresh_continuous_aggregate('my_cagg_weekly', NULL, localtimestamp - INTERVAL '1 month');

SELECT add_continuous_aggregate_policy('my_cagg_weekly',
    start_offset => INTERVAL '1 month',
    end_offset   => INTERVAL '1 hour',
    schedule_interval => INTERVAL '30 minutes');

ALTER MATERIALIZED VIEW my_cagg_weekly set (timescaledb.materialized_only = false);

This has appeared to be working correctly for many months. However, I noticed today a missing data point from the weekly aggregate results:

select * from my_cagg_weekly order by timestamp asc
###
 timestamp              |  var1 | var2
------------------------+-------+---------------------------------+-------
2024-12-30 00:00:00+00  | 1.1   | 1.1
2025-01-13 00:00:00+00  | 2.1   | 2.1

The weekly aggregate for the 6th January was missing. I thought my setup of the continuous aggregate was following the documentation - I had the end offset of the manual refresh equal to the start offset of the refresh policy (1 month).

Can you advise whether or not my setup is correct please?
Thanks

I have changed my setup so that the manual refresh end time goes beyond the start time of the refresh policy:

CALL refresh_continuous_aggregate('my_cagg_weekly', NULL, localtimestamp - INTERVAL '25 days');

SELECT add_continuous_aggregate_policy('my_cagg_weekly',
    start_offset => INTERVAL '1 month',
    end_offset   => INTERVAL '1 hour',
    schedule_interval => INTERVAL '30 minutes');

This seems to have fixed my issue; but if this approach is unwise please let me know!

Thanks