From 6f622b2764a385066c161cfebefeaa836ee608e5 Mon Sep 17 00:00:00 2001 From: sethigoldy <57476662+sethigoldy@users.noreply.github.com> Date: Mon, 7 Sep 2026 13:29:38 +0000 Subject: [PATCH] chore: sync skill from memvara/memvara@45b2adaecbe094214c9a6595560e9f30f63bc181 --- skill.lock | 2 +- skills/memvara/references/time.md | 9 ++++++--- skills/memvara/references/write-and-correct.md | 17 +++++++++++++++++ 3 files changed, 24 insertions(+), 4 deletions(-) diff --git a/skill.lock b/skill.lock index 04c96b1..41c33ce 100644 --- a/skill.lock +++ b/skill.lock @@ -2,5 +2,5 @@ # CI diffs plugin/skills/memvara against that SHA. skill-sync.yml updates this # file when it opens a PR. repo=memvara/memvara -sha=6527a4b081ec8c7c76b4f7a701874c4209470f97 +sha=45b2adaecbe094214c9a6595560e9f30f63bc181 path=memvara/skills/memvara diff --git a/skills/memvara/references/time.md b/skills/memvara/references/time.md index 298966f..bab0c8a 100644 --- a/skills/memvara/references/time.md +++ b/skills/memvara/references/time.md @@ -14,7 +14,9 @@ On the **library and REST**: alongside either axis raises rather than picking one. On **MCP**: `memory_search` takes `as_of` and `valid_at`, not `known_at`. -Passing both of the two it has is refused. +Passing both of the two it has is refused. `memory_recall` takes `valid_at` +only, and its header then names the day; it refuses `as_of`, because its +output is a prompt and rewinding belief would put a since-retired record in it. Reach for `valid_at`. Asking about someone's earlier city, job or year is asking about the world, and `as_of` answers something else: it rewinds @@ -52,8 +54,9 @@ values and the gap between them. Answering it with `valid_at` alone hides the very thing being asked about, because `valid_at` is written from today and a later correction is already folded in. -So: `memory_recall` for what is the case, `memory_search` with `valid_at` for -one past reading, `memory_history` for the versions of a single fact with ids +So: `memory_recall` for what is the case, `memory_recall` with `valid_at` for +what was the case on a day, `memory_search` with `valid_at` for one past +reading with ids, `memory_history` for the versions of a single fact with ids to act on, and this when someone is holding an old answer and wants to know why it no longer matches. diff --git a/skills/memvara/references/write-and-correct.md b/skills/memvara/references/write-and-correct.md index 7713ebc..25ae661 100644 --- a/skills/memvara/references/write-and-correct.md +++ b/skills/memvara/references/write-and-correct.md @@ -92,6 +92,23 @@ undeclared predicate decays at the slow default — a two-year half-life — so a fact that changed this morning still ranks as fresh long after it stopped being true, and nothing ever reports it. +## "may replace: [id] ..." + +This line appears only on a server whose operator turned +`MEMVARA_ADVISE_REPLACEMENTS` on. It means the store could not compare your +new fact with the named one itself, because the two are filed under +different names, and the model thinks yours is the newer version. The +model is wrong about one time in ten, so read the named fact before acting, +then pick the closure the line offers: + +- The world moved and yours is the current value: `memory_end` the named id. +- The old record was never right: `memory_forget` it. +- Both hold, or they are about different things: do nothing. + +If the same two spellings keep producing this line, the fix is on the +server: `merge_predicate` folds one predicate name onto the other and moves +the claims already filed under it. Tell them; it is not a tool. + ## Carry the turn ids forward Half the dispute sequence above runs on the excerpt: step 3 puts it in front