Rule atom — fn, derive, query, mutate, check
Argon distinguishes the definition of derived predicates (derive) from inference tasks over the resulting theory (query). derive populates IDB predicates that other rule modes can join against, contributing to the inductive closure. query consumes them and returns a typed value with no IDB side-effect. The split mirrors IDP’s { … } inductive-definition block vs. propagate/expand inference tasks. fn is pure value computation over its arguments; mutate is the only side-effecting verb; check emits diagnostics observer-only (lowers to Cat3 — never populates the IDB).