Skip to content

Commit 3dd43b8

Browse files
committed
fix(skills): make the router stub self-healing instead of preferring one identifier
Codex suggested preferring title references because move_note can change a permalink — but update_permalinks_on_move defaults to False, so memory:// paths survive moves on a default install, and titles have their own failure mode (rename). No single identifier is unconditionally durable. The stub template now carries the router's title and memory:// path together with an explicit fall-back-to-title-search instruction, which self-heals when any one identifier goes stale. Signed-off-by: Cody Faust <cody@luminarysol.com>
1 parent 5a3fa1a commit 3dd43b8

1 file changed

Lines changed: 4 additions & 2 deletions

File tree

skills/memory-onboarding/references/assistant-setup.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,9 @@ Rules that apply before anything else:
2323
1. Every Basic Memory call (read, search, write, list) uses project "{project-name}" explicitly.
2424
2. At the start of every session, before any knowledge-base work, read the note
2525
"Startup Router" (memory://instructions/startup-router) and follow its dispatch
26-
table for the task at hand. Take no write actions until the notes it lists are loaded.
26+
table for the task at hand. If that reference doesn't resolve, search for the
27+
note by title before doing anything else. Take no write actions until the
28+
notes it lists are loaded.
2729
3. Folder paths use exact casing as given in the instruction notes.
2830
4. Before overwriting any existing note, read it in full first.
2931
5. When unsure where something belongs, ask me instead of guessing.
@@ -47,7 +49,7 @@ If you can't determine the platform, show the stub and this table and let the us
4749

4850
## The router reference must be durable
4951

50-
Inside the stub, reference the router by **title** or **`memory://` path** — never paste a raw permalink string copied from a tool result. A recreated note derives a fresh permalink, and the stub is the one piece of the system that isn't a note and won't be caught by note-level maintenanceso it must use the most durable reference form available.
52+
Inside the stub, give the router's **title and `memory://` path together, with a title-search fallback** — never a raw permalink string copied from a tool result. No single identifier is unconditionally durable: a retitled note breaks title lookups, a recreated note derives a fresh permalink, and a moved note's path changes when `update_permalinks_on_move` is enabled (it defaults to off). The stub is the one piece of the system that isn't a note and won't be caught by note-level maintenance, so it carries both identifiers plus the fallback — that combination self-heals when any one of them goes stale.
5153

5254
## Verification test
5355

0 commit comments

Comments
 (0)