You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: codex-plugin/skills/lore-memory/SKILL.md
+4-4Lines changed: 4 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -22,13 +22,13 @@ Before answering on a topic that may have durable context, call `lore_search` wi
22
22
23
23
## Writes
24
24
25
-
Create or update Lore memory when the information should survive this session. Prefer `uri` for reads, updates, deletes, and moves. Use stable semantic snake_case ASCII path segments.
25
+
Create or update Lore memory when the information should survive this session. Lore is a living semantic tree: each node is a concept that can absorb future evidence, and each `uri` names that concept's identity and position.
26
26
27
-
Do not append dates, timestamps, or epoch values to ordinary memory paths. Put dates in the content instead. Date suffixes are only valid for explicitly date-archived objects such as `dream_diary_2026_06_24`, `daily_log_2026_06_24`, or `release_2026_06_24`.
27
+
Dates express event time. Put event time in the node narrative, history, metadata, or explicit diary/log/release/archive/incident concepts. Project, work, preference, and decision memories should use durable concept names so future recall returns by meaning.
28
28
29
-
A multi-segment path is a semantic memory tree. Every intermediate segment must be a real abstraction parent node with content, disclosure, and glossary. Before moving nodes into a hierarchy, create or update those parent nodes; a string-only path move is incomplete.
29
+
A multi-segment path grows through parent abstractions. Every intermediate segment is a real memory node with content, disclosure, and glossary that explains why its children belong together. Before moving nodes into a hierarchy, create or update the parent abstraction.
30
30
31
-
Before creating, search or open the likely existing owner node. Prefer updating or merging into an existing stable node. Use `lore_create_node`only for a new long-term semantic object.
31
+
Before creating, search or open the likely existing owner concept. Prefer updating or merging into an existing stable node. Use `lore_create_node`when a new long-lived concept has appeared.
Copy file name to clipboardExpand all lines: hermes-plugin/lore_memory/__init__.py
+8-8Lines changed: 8 additions & 8 deletions
Original file line number
Diff line number
Diff line change
@@ -47,7 +47,7 @@ def _load_guidance() -> str:
47
47
"lore_boot is a fixed startup baseline inside Lore, not a separate config layer. "
48
48
f"At startup, lore_boot deterministically loads the three global boot nodes core://agent (workflow constraints), core://soul (style / persona / self-definition), and preferences://user (stable user definition / durable user context), plus {CLIENT_BOOT_URI} for Hermes-specific agent rules. "
49
49
"Treat boot as the session's startup baseline. core://agent holds shared agent rules; core://agent/hermes holds Hermes-specific rules. Use recall and search to add prompt-specific memory leads, not to replace the role of those fixed paths. "
50
-
"Use lore_get_node to read and lore_search to find. Before creating, search or open the likely owner node; prefer updating or merging. Use stable semantic URI/path segments and do not append dates, timestamps, or epoch values to ordinary memory paths. A multi-segment path is a semantic memory tree; every intermediate segment must be a real abstraction parent node with content, disclosure, and glossary. Before moving nodes into a hierarchy, create or update those parent nodes; a string-only path move is incomplete."
50
+
"Use lore_get_node to read and lore_search to find. Before creating, search or open the likely owner concept; prefer updating or merging. Lore is a living semantic tree: a path names concept identity, dates express event time in the node narrative or explicit archive concepts, and multi-segment paths grow through real parent abstractions with content, disclosure, and glossary."
"description": "Create a new long-term memory node only when no existing stable node should own the fact. Use stable semantic snake_case URI/title segments. A multi-segment path is a semantic memory tree; every intermediate segment must be a real abstraction parent node with memory content, disclosure, and glossary, so create parents first. Do not append dates, timestamps, or epoch values to ordinary memory paths; put dates in content instead. Date suffixes are only for explicit diary/log/release/archive nodes. Prefer lore_update_node after search/get_node.",
419
+
"description": "Create a new long-term memory concept in the Lore living semantic tree. A URI path names the concept identity with durable snake_case segments; event time belongs in the node narrative or in explicit archive, diary, release, or incident concepts. For multi-segment paths, first make the parent abstraction real with content, disclosure, and glossary, then place the child under that conceptual home. Prefer update or merge when an existing concept already owns the fact.",
420
420
"parameters": {
421
421
"type": "object",
422
422
"additionalProperties": False,
423
423
"properties": {
424
424
"content": {"type": "string", "description": "Memory text body"},
"glossary": {"type": "array", "items": {"type": "string"}, "description": "Initial glossary keywords written with this node create event"},
427
-
"uri": {"type": "string", "description": "Optional final stable semantic memory URI. Do not append dates, timestamps, or epoch values for ordinary memories. Intermediate paths must already exist as real abstraction parent nodes with content."},
427
+
"uri": {"type": "string", "description": "Optional final memory URI. It names a durable concept identity; event time belongs in content or in explicit archive, diary, release, or incident concepts. Intermediate paths grow from real parent abstractions with content."},
428
428
"domain": {"type": "string", "description": "Target memory domain when not using uri"},
429
-
"parent_path": {"type": "string", "description": "Parent location inside the chosen domain; for multi-segment paths this must be a real abstraction node with content, disclosure, and glossary."},
430
-
"title": {"type": "string", "description": "Final stable semantic path segment for the new memory; ordinary memories must not end with dates or timestamps."},
429
+
"parent_path": {"type": "string", "description": "Parent concept path inside the chosen domain; for multi-segment paths this parent abstraction explains why the children belong together and carries content, disclosure, and glossary."},
430
+
"title": {"type": "string", "description": "Final concept segment for the new memory; name the reusable idea, module, decision, preference, or archive concept."},
431
431
"disclosure": {"type": "string", "description": "When this memory should be recalled"},
"description": "Move or rename a memory node to a new URI path. A multi-segment path is a semantic memory tree; the target parent must already be a real abstraction parent node with memory content. The operation reparents the moved node to that parent and updates all child paths automatically.",
467
+
"description": "Move or rename a memory concept inside the semantic memory tree. The target parent represents the conceptual home; it must already be a real parent abstraction with memory content so the move can reparent the node and its subtree into that abstraction.",
468
468
"parameters": {
469
469
"type": "object",
470
470
"additionalProperties": False,
471
471
"properties": {
472
472
"old_uri": {"type": "string", "description": "Current memory URI to move from"},
473
-
"new_uri": {"type": "string", "description": "New memory URI to move to. For multi-segment paths, the target parent must already be a real abstraction node with content."},
473
+
"new_uri": {"type": "string", "description": "New memory URI. For multi-segment paths, the target parent is the parent abstraction that becomes the node conceptual home."},
lines.append("These are context hints, not URI naming examples. Some legacy URIs may contain date suffixes; do not imitate that path style for ordinary memories.")
104
+
lines.append("These are context hints. Some legacy URIs may carry date-shaped segments; read those dates as event time or archive context while ordinary memory identity stays with durable concepts.")
0 commit comments