feat(ACTIVITY-WP-0014): explicit run-miss recovery policies (T02, T04)

Set Temporal catchup_window on cron schedules so a fire missed during a
worker/Temporal outage is no longer silently dropped. Redefine misfire_policy
into three explicit modes — skip, catchup_all, catchup_latest — mapping to
(catchup_window, overlap) pairs; legacy catchup/compress aliased. Add
catchup_window_seconds override. Remove the ad-hoc upsert-time 1h backfill in
favour of native catchup. Apply catchup_latest to daily-statehub-wsjf-triage in
the Railiance runtime manifest and document run-miss policies in the runbook.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-23 14:15:45 +02:00
parent ffc0ee2cb7
commit a83b117f60
6 changed files with 181 additions and 29 deletions

View File

@@ -9,7 +9,7 @@ owner: claude
topic_slug: activity-core
created: "2026-06-23"
updated: "2026-06-23"
state_hub_workstream_id: ""
state_hub_workstream_id: "91b64686-5d17-4c86-bc9e-3d0ee6720cf5"
---
# Schedule Misfire Robustness & Run-Miss Recovery Options
@@ -66,7 +66,7 @@ Proposed mapping to a new `misfire_policy` value set (names open to review):
id: ACTIVITY-WP-0014-T01
status: todo
priority: high
state_hub_task_id: ""
state_hub_task_id: "c90ff214-9214-48c7-96b9-7d699528d5ab"
```
Bring up the ops-bridge tunnel (`bridge up state-hub-coulombcore`,
@@ -81,9 +81,9 @@ calibration evidence is still wanted. Record findings in the workplan.
```task
id: ACTIVITY-WP-0014-T02
status: todo
status: done
priority: high
state_hub_task_id: ""
state_hub_task_id: "19615562-4cb2-4f25-872f-505d6e40dcc5"
```
Add `catchup_window_seconds` to `CronTriggerConfig` and redefine `misfire_policy`
@@ -99,7 +99,7 @@ map). Unit tests for each mode's `(catchup_window, overlap)` mapping.
id: ACTIVITY-WP-0014-T03
status: todo
priority: medium
state_hub_task_id: ""
state_hub_task_id: "dbedd96a-59ca-4b83-bce6-35755b076807"
```
Detect when a scheduled definition has no successful run within its expected
@@ -112,9 +112,9 @@ be invisible.
```task
id: ACTIVITY-WP-0014-T04
status: wait
status: progress
priority: medium
state_hub_task_id: ""
state_hub_task_id: "04e9d1d2-1192-4402-9402-b12c5d7d44e5"
```
Choose and set the appropriate `misfire_policy` for `daily-statehub-wsjf-triage`