← ClaudeAtlas

memorylisted

Prime on Eidet's Memory core before touching it — the MemoryEntry aggregate, its deterministic id (which doubles as a content commitment), validity intervals, supersession chains, forget/redact/edit verbs, and the Valence and FunctionalStage dimensions. Use when the task touches MemoryEntry, memory ids, MemoryType, Valence, Validity, provenance fields, supersession, version chains, forget, redact, links, or echo/fizzle feedback. Not for the gates that accept or reject a write (see writepath), not for ranking or context packing (see recall), not for scheduled rewrites (see maintenance).
stevehansen/eidet · ★ 4 · AI & Automation · score 70
Install: claude install-skill stevehansen/eidet
# Memory core — priming **Canonical spec:** `docs/domains/memory.md` — read it for the full entity shape, all invariants, key files, and gotchas. Terms of record: `UBIQUITOUS_LANGUAGE.md` § Memory core / Lifecycle. Design rationale: `docs/specs/CoreSpec.md`. A Memory is a typed, repo-namespaced, append-only document with a deterministic id and a validity interval. This domain owns its shape and its lifecycle verbs. Whether a write is *allowed* belongs to **writepath**; how a memory *comes back* belongs to **recall**. ## Core invariants (get these right) - **The id is a frozen persisted format and doubles as the content commitment.** Never hand-roll one, never regex its shape — ask `MemoryIdGenerator.Matches`. Changing a preimage silently de-boosts the entire corpus at recall instead of failing a build. - **A git worktree is not its own repo.** `RepoPathResolver.Resolve` maps a working directory to the repository it belongs to (a worktree's `.git` pointer file names the main checkout), and it runs where a path *first* becomes a repo — the CLI's and MCP's working directory. Never put filesystem access in `RepoIdNormalizer`: that is a pure string map called on already-normalized ids at ~40 sites. Never resolve a *scan root* — intake reads the files in front of it and stores them under the resolved repo. Memories banked before this are moved with `eidet repo rehome`. - **Every mutation goes through `MemoryService`'s `RunWriteAsync`/`RunMutationAsync`.** The stor