diff --git a/lang/releases/v1.0.0-20260501/el_runtime.c b/lang/releases/v1.0.0-20260501/el_runtime.c index b83afb1..4cc00dd 100644 --- a/lang/releases/v1.0.0-20260501/el_runtime.c +++ b/lang/releases/v1.0.0-20260501/el_runtime.c @@ -9548,6 +9548,67 @@ el_val_t engram_cosine_sim(el_val_t id_a, el_val_t id_b) { return el_from_float(eg_cosine(a->emb, b->emb, a->emb_dim)); } +/* engram_label_df — document frequency of `term` across node LABELS. + * Returns the count of nodes whose label contains term (case-insensitive), + * or the total node count for an empty/NULL term so callers treat "no term" + * as maximally unspecific (i.e. reject it). + * + * WHY THIS EXISTS (2026-08-03 self-review). The soul's auto-term extractor + * (awareness.el:auto_term_try_slot) picks a curiosity seed by taking the + * FIRST WORD of a top-WM node label. A first-word extractor has no notion of + * term quality, so three consecutive self-reviews each bolted another + * hand-curated blocklist onto it — genre words (07-23), quoted titles + * (07-25), English stopwords (07-30). Every one of those was written + * REACTIVELY, after observing a flood in the live ISE stream. The mechanism + * is whack-a-mole: the list can only ever contain floods that already + * happened. + * + * Measured live on this store (13,370 nodes) while two unanticipated floods + * were in flight and unfixed: + * "