fix(release-health): per-cadence report sinks, accept default catch-up window
The probe expected the daily fep_feedback_intake sink on all three frontend-patterns definitions and required an explicit catchup_window_seconds that live rows do not carry. It now checks each cadence's own sink, and accepts an absent window, which resolves to the catchup_latest 24h default (the schedule's catchup_window is still checked). Closes ACTIVITY-WP-ADHOC-2026-10-19-T03. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Assistant: claude-code Assistant-Model: opus Assistant-Process: 244572@bnt-lap001 Assistant-Session: 3b235e1a-ae45-4d0f-ae70-17a9bd78ece8
This commit is contained in:
parent
bbe2081a2e
commit
b186746f4a
4 changed files with 43 additions and 9 deletions
|
|
@ -15,8 +15,12 @@ FRONTEND = {
|
|||
str(uuid5(NAMESPACE, f'frontend-patterns-{cadence}')): (cadence, cron)
|
||||
for cadence, cron in [('daily', '0 2 * * *'), ('weekly', '0 3 * * 2'), ('monthly', '0 9 1 * *')]
|
||||
}
|
||||
SINK = {'type': 'state-hub-progress', 'event_type': 'fep_feedback_intake',
|
||||
'author': 'activity-core', 'topic_id': 'fe2aaa78-9c20-4feb-b3d2-4fe0529572a3'}
|
||||
SINKS = {
|
||||
cadence: {'type': 'state-hub-progress', 'event_type': event_type,
|
||||
'author': 'activity-core', 'topic_id': 'fe2aaa78-9c20-4feb-b3d2-4fe0529572a3'}
|
||||
for cadence, event_type in [('daily', 'fep_feedback_intake'), ('weekly', 'fep_improvement_review'),
|
||||
('monthly', 'fep_monthly_review')]
|
||||
}
|
||||
|
||||
|
||||
def definition_matches(row):
|
||||
|
|
@ -29,12 +33,14 @@ def definition_matches(row):
|
|||
and row.trigger_config.get('cron_expression') == cron
|
||||
and row.trigger_config.get('timezone') == 'Europe/Berlin'
|
||||
and row.trigger_config.get('misfire_policy') == 'catchup_latest'
|
||||
and row.trigger_config.get('catchup_window_seconds') == 86400
|
||||
# Absent means the catchup_latest default (24h, schedule_manager); the
|
||||
# schedule's actual catchup_window is checked separately.
|
||||
and row.trigger_config.get('catchup_window_seconds') in (None, 86400)
|
||||
and row.trigger_config.get('jitter_seconds', 0) == 0
|
||||
and isinstance(instructions, list) and len(instructions) == 1
|
||||
and instructions[0].get('id') == f'frontend-patterns-{cadence}-report'
|
||||
and instructions[0].get('model') == 'deterministic'
|
||||
and instructions[0].get('report_sinks') == [SINK])
|
||||
and instructions[0].get('report_sinks') == [SINKS[cadence]])
|
||||
|
||||
|
||||
def expanded(ranges, minimum, maximum):
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue