AlertTrigger Schema

Description: Match/fire ledger row — simultaneously the fire-loop work queue, the idempotency guard, and the user-visible audit trail.

One row per (subscription, event group, kind): redelivered notices are
no-ops, and an event group fires a subscription exactly once. For
``kind=update`` the single row is *reused* — each new refinement notice
resets it to ``pending`` with the latest ``alert_event_id`` — because
LVK/Swift send several updates per event.

Properties

Name Type Description
id Integer No description
subscription_id Integer No description
alert_event_id Integer No description
event_group_key String(255) No description
kind Enum(fire, update, retraction) No description
status Enum(pending, processing, fired, skipped, failed) No description
skip_reason String(255) (Optional) No description
error String(Unbounded) (Optional) No description
attempts Integer No description
created_on DateTime No description
processed_on DateTime (Optional) No description
observation_id Integer (Optional) Provenance link to the observation created by a successful kind=fire trigger (first spec when a subscription has several).

Relationships

Relationship Name Type
subscription AlertSubscription
alert_event AlertEvent
observation Observation