feat: best-effort mirror (dual-send) of heartbeats + events
Optional second destination so each heartbeat and event is posted to a mirror server (the office NAS) alongside the primary — dual-write to de-risk the migration. Default off (blank mirror URLs); existing installs unchanged. - event_forwarder: mirror_reachable() fast-fail probe + mirror_forward_pass() (reliable event mirror with its OWN state file, total exception isolation, never raises into the primary path). - series4_ingest: mirror_api_url/mirror_sfm_url/mirror_sfm_state_file config; best-effort heartbeat mirror; isolated event-mirror pass after the primary. - settings dialog: new 'Mirror' tab. - 9 new tests incl. the isolation invariant (down mirror = fast no-op that never touches primary state). 42 passing. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
+5
-1
@@ -24,5 +24,9 @@
|
||||
"sfm_http_timeout": 60,
|
||||
"sfm_state_file": "",
|
||||
"sfm_max_forwards_per_pass": 500,
|
||||
"sfm_max_event_age_days": 365
|
||||
"sfm_max_event_age_days": 365,
|
||||
|
||||
"mirror_api_url": "",
|
||||
"mirror_sfm_url": "",
|
||||
"mirror_sfm_state_file": ""
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user