← ClaudeAtlas

maintenancelisted

Prime on Eidet's maintenance pipeline before changing it — the MaintenanceOrchestrator stage order, IMaintenanceStage/MaintenanceContext contract, TTL expiry, observation retention, dedup, FadeMem importance decay, ROI decay, budget eviction, deprecation, consolidation, the ACE-style Reflector, drift review, and the nightly forget-integrity audit. Use when the task touches a maintenance stage, ConsolidationEngine, DedupEngine, ReflectionEngine, RecallConsistencyGuard, FadeMemCurve, RetentionScore, or a nightly/scheduled corpus rewrite. Not for the LLM backend those stages call (see enrichment), not for one-off ingestion (see intake), not for the read path (see recall).
stevehansen/eidet · ★ 4 · AI & Automation · score 70
Install: claude install-skill stevehansen/eidet
# Maintenance — priming **Canonical spec:** `docs/domains/maintenance.md` — read it for the full stage order, all invariants, key files, and gotchas. Terms of record: `UBIQUITOUS_LANGUAGE.md` § Lifecycle. Design rationale: `docs/specs/CoreSpec.md`. A fixed-order pipeline of small stages that either move scores, retire memories, or mint new ones. The order in `MaintenanceOrchestrator.DefaultStages()` is load-bearing: retention runs after importance is final, and `ForgetIntegrityStage` runs last so it audits what this run produced. ## Core invariants (get these right) - **One bulk scope per run** — every stage and engine writes through `ctx.Write`, so touched scopes invalidate exactly once in the `finally`. A stage using its own `MemoryService` breaks coherence. - **One object per memory per pass** — `ctx.Store` is a `SharedEntryStore`, the read-side twin of that rule. Stages write whole documents off index-backed queries, so without shared instances a late stage persists a copy loaded before an early stage's write and silently reverts its field. A stage or engine that opens its own read port re-introduces it; the auditor's raw store is a deliberate exception. - **A stage failure is a report line, not an aborted run** (per-stage try/catch → `StageOutcome`). - **Stage selection compares `Name` strings, never parses them** — selection must stay total. - **Every stage must converge** — "does nothing the second time" is correctness, not optimization. Consolidation get