--- name: "omh-memory-sync" description: "[omh] Outdated or wrong Hermes memory entries: English-canonical Hermes memory-review guidance: inspect USER.md and MEMORY.md claims and prepare a native write diff without invoking, applying, or observing a native write; for a new fact use memory-new, and for a past decision use decision-recall. Use when the user says: memory-sync, memory curation, memory review, memory inspect, memory check, memory update, context cleanup, curate memory." metadata: hermes: tags: [workflow, oh-my-hermes, memory] category: memory phase: curation-review role: memory-keeper quality_tier: workflow-surface-gated --- # Memory Sync This is a Hermes-native `memory-sync` workflow skill. ## Why This Exists `memory-sync` exists so Hermes users can ask for this workflow in chat and get a structured, checkable answer instead of an improvised one. ## Do Not Use When - The request is already handled by a narrower explicit skill with stronger evidence. - The user asks OMH to secretly run external platforms, connectors, schedulers, file exports, or runtime agents. - The only safe answer is to ask for missing authority, credentials, target, or observed evidence first. ## Examples Good example: - Prompt: memory-sync inspect stale MEMORY.md claims, prepare a native write diff, and ask which claims to keep, revise, or archive. - Expected behavior: Produce `prepare_memory_sync` with required context, wrapper actions, and not-evidence boundaries. - Why: The prompt names a real workflow surface that Hermes can orchestrate without hiding execution. Bad example: - Prompt: memory-sync claim a prepared native diff changed MEMORY.md or USER.md. - Expected behavior: Report the missing observed evidence or authority instead of claiming the external step happened. - Why: Prepared OMH guidance is not platform, runtime, connector, file, memory, or delivery evidence. ## Completion Checklist - Confirm the workflow target, evidence boundary, and stop condition are named. - Report which outputs are prepared, observed, blocked, or missing. - Name the smallest next verification or handoff instead of claiming completion from narration. ## Recovery Notes - If required context is missing, ask one blocking question or route back to the narrower workflow. - If runtime or wrapper evidence is unavailable, keep the status as not_observed and expose the next observable action. ## Workflow Lane - Current lane: **Retained knowledge** (`memory-new`, `memory-sync`, `decision-recall`, `wiki`) - memory, rejected alternatives, wiki notes, retrieval, and staleness. - If intent belongs to another lane, hand back to `oh-my-hermes` or name the adjacent workflow. - Shared product, routing, compatibility, and evidence rules: `omh-routing/references/skill-common-rail.md`. ## English-Canonical Interview Protocol - **Inventory (목록)** - Call `omh_memory` with `action="status"` for the entry inventory: per-file counts, per-entry index and size, headroom, and entries with no OMH record. It returns counts and hashes, never entry text. - **Claim extraction (추출)** - Break the `USER.md` and `MEMORY.md` material into claims; quote only observed claims and never invent provenance. - **Provenance (출처)** - Ask for the source class and distinguish Hermes-native, provider, and vector material as `not_omh_reviewed`. A provider posture's `input_fidelity_summary.readiness` is literal: only `complete_observed` rests on an observed complete receipt (`docs/MEMORY-SYNC-FIDELITY.md`). - **Target (대상)** - Review existing native-memory claims only; route a new project/product fact to `memory-new`. - **Candidate selection (후보)** - Open records first (see Open Records below); then a short interview, not a census: pick about five candidates per pass and say why. Rank by dreaming reminders (duplicate clusters, deadline, `stale_review_required`), status-bridge similarity rows, and claims that look stale, conflicting, or overgeneralized. Walk the full inventory only on request. - **Per-entry confirmation (확인)** - One candidate at a time: quote it back from your own memory file, say what you take it to mean, then ask the user to keep, revise, or archive it before moving on. A review the user cannot correct entry by entry is not a review. - **Cursor (이어하기)** - Close every pass with reviewed entry indexes, remaining candidates, and the next entry a resumed review starts from. The resume point lives only in the conversation; name it. - **Incident (진단)** - A recall complaint ("my saved preference was not used") is a diagnosis, never an apology or automatic write. Anchor one expected claim and run `omh memory recall-incident --record-id | --claim-digest --session-id ` (agent reference; JSON only). Explain its `memory_recall_incident/v1` stage, evidence surfaces, and remediation: stored, eligible, selected, rendered, delivered, and used are separate claims; diagnosis today stops at `selected`; a missing receipt is `unavailable`, never non-delivery. Mutation waits for this interview's approvals. Contract: `docs/MEMORY-RECALL-INCIDENT.md`. - **Source recovery (출처 회수)** - A whole wrong source is not a record-by-record review. Enumerate it with `omh memory sources --source