← ClaudeAtlas

enrichmentlisted

Prime on Eidet's optional LLM layer before changing it — EnrichmentService, IEnrichmentPort and its Ollama/OpenAI-compatible/Fallback/Null/InMemory adapters, the primary-plus-fallbacks backend chain, bearer auth and the thinking switch, prompt kinds, the health cache, CoT sanitizing, the store-time EnrichmentWorker subscription, and the generated Summary/OneLiner/ForesightHint/Entities fields plus drift-review and reflection proposals. Use when the task touches enrichment config or reload, an Ollama/LM Studio/vLLM backend or a network model cluster, a prompt, a parser for model output, or "why is Summary null". Not for the stages that schedule these calls (see maintenance), not for the zero-LLM store gates (see writepath).
stevehansen/eidet · ★ 4 · AI & Automation · score 70
Install: claude install-skill stevehansen/eidet
# Enrichment — priming **Canonical spec:** `docs/domains/enrichment.md` — read it for the full field policy, all invariants, key files, and gotchas. Terms of record: `UBIQUITOUS_LANGUAGE.md` § Write path (Enrichment). Config: `docs/configuration.md`. The only place a model touches a memory, and it is entirely optional: ports-and-adapters over one or more backends (Ollama-native or any OpenAI-compatible server, local or a bearer-authenticated network cluster), tried as an ordered chain. The store path stays zero-LLM — every call site must be correct when every backend is absent. ## Core invariants (get these right) - **Prompts, transport, health caching, and CoT quirks stay behind the port.** Callers pass an `EnrichmentPrompt` kind; anything structured is rendered into `Primary`/`Aux` at the facade. - **Nothing fails because enrichment is unavailable** — short-circuit to `false`/`null`/`[]`; adapters swallow transport errors. - **Never enrich a redaction tombstone** — the model would paraphrase scrubbed content back into `Summary`, and therefore into `SearchText`. - **`Summary == null` is the work queue** (subscription + unenriched stats key on it). That's why redaction writes `""`. - **The one-liner is re-generated only while it still equals the deterministic heuristic** — that's the "never enriched" test for a field that is never null. - **Enrichment writes go through `MemoryService`** — these fields feed `SearchText` and scoring, so a direct store write leav