Skip to content

triggers

triggers

Trigger types for the spec-search subsystem.

A trigger is what kicks off a learning session. Four trigger types exist, all funneling into SpecSearchOrchestrator.run(trigger). The trigger object is stored on the LearningSession for queryability.

See spec §3.3.

Classes

OnDemandTrigger dataclass

OnDemandTrigger(
    kind: TriggerKind = ON_DEMAND,
    metadata: dict[str, Any] = dict(),
)

Caller invoked SpecSearchOrchestrator.run(trigger) directly.

UserFlagTrigger dataclass

UserFlagTrigger(
    trace_id: str = "", kind: TriggerKind = USER_FLAG
)

User flagged a specific trace for improvement.

ScheduledTrigger dataclass

ScheduledTrigger(
    cron: str = "0 3 * * *",
    new_trace_count: int = 0,
    kind: TriggerKind = SCHEDULED,
)

Cron-based scheduled trigger.

ClusterTrigger dataclass

ClusterTrigger(
    cluster_description: str = "",
    trace_ids: list[str] = list(),
    failure_rate: float = 0.0,
    kind: TriggerKind = CLUSTER,
)

Fired when a failure cluster exceeds a threshold.