# `Cyclium.Strategy.Template.ObserveClassifyConverge`
[🔗](https://github.com/Cyclium/cyclium_ex/blob/main/lib/cyclium/strategy/template/observe_classify_converge.ex#L1)

Data-driven strategy template: Gather → Classify (rules) → Converge.

Uses a named gatherer to collect data, then applies rule-based classification
without LLM synthesis. Suitable for simple threshold/rule actors.

## Strategy config shape

    %{
      "gatherer" => "client_metrics",
      "classify_rules" => [
        %{"field" => "mrr", "op" => "lt", "value" => 500, "class" => "at_risk", "severity" => "high"},
        %{"field" => "last_login_days_ago", "op" => "gt", "value" => 30, "class" => "inactive", "severity" => "medium"}
      ],
      "default_class" => "healthy",
      "default_severity" => "low",
      "finding_config" => %{
        "actor_id_field" => "client_health_actor",
        "finding_key_template" => "client:health:${subject_id}",
        "subject_kind" => "client",
        "subject_id_key" => "client_id"
      }
    }

## Rule operators

- `"lt"` — less than
- `"gt"` — greater than
- `"eq"` — equals
- `"neq"` — not equals
- `"in"` — value in list
- `"not_in"` — value not in list

Rules are evaluated in order. First match wins.

---

*Consult [api-reference.md](api-reference.md) for complete listing*
