Context
casehub-life's LifeReactiveWorkerProvisioner schedules Quartz heartbeat jobs (LifeHeartbeatJob) for sentinel capabilities. These sentinels periodically query case state and signal results back.
Currently the sentinel/heartbeat pattern is implemented entirely in the life layer — but the concept of "periodically re-evaluate bindings" is a general engine concern. A timer sentry type would let case definitions express periodic evaluation declaratively in YAML rather than requiring each app layer to build its own Quartz scheduling.
Proposal
Add a timer sentry type to the engine that fires periodically and triggers binding re-evaluation for the associated plan item. This would allow YAML case definitions to express recurring checks without app-layer Quartz wiring.
Motivation
- Eliminates per-app heartbeat infrastructure (Quartz job, sentinel registry, cleanup observer)
- Makes periodic evaluation a first-class engine concept
- Aligns with CMMN timer event listeners
Filed from casehubio/life — Layer 7 integration work (life#8).
Context
casehub-life's
LifeReactiveWorkerProvisionerschedules Quartz heartbeat jobs (LifeHeartbeatJob) for sentinel capabilities. These sentinels periodically query case state and signal results back.Currently the sentinel/heartbeat pattern is implemented entirely in the life layer — but the concept of "periodically re-evaluate bindings" is a general engine concern. A timer sentry type would let case definitions express periodic evaluation declaratively in YAML rather than requiring each app layer to build its own Quartz scheduling.
Proposal
Add a timer sentry type to the engine that fires periodically and triggers binding re-evaluation for the associated plan item. This would allow YAML case definitions to express recurring checks without app-layer Quartz wiring.
Motivation
Filed from casehubio/life — Layer 7 integration work (life#8).