Problem
Currently, mnemon has several mechanisms to provide isolation and context: named stores, tags, and entities. Additionally, integrations like DSH and NanoClaw have memory spaces and global/local memory auto-switching, showing that scope and applicability are real design considerations.
However, the core mnemonic has no mechanism to say that a memory is only applicable within a certain context, nor does the skill guide how the agent should record this.
For example, if I use a global memory store on two different but similar API projects, and in one, I said: "You should use RFC 7807 details for all API error responses". In contrast, in another, I said: "Stick to my custom {error, code, trace} envelope". Both should be encoded as high-importance decisions, but only applicable within their own context. Switching to a local store means some other decisions and conventions don't transfer between them.
Currently, mnemon relies on the agent to encode this implicit scope correctly on its own, without skill/guidance explaining how, or a dedicated model to accept this information.
Proposed solution
I would like to propose a minimal set of scope metadata to add to the memory. For example:
{
"scope": {
"type": "project",
"id": "project-a"
}
}
The exact shape, constraints, etc. should be further discussed. In the same direction, other information such as applicability or validity timeframe may also be considered. They do not have to affect recall at first, but to provide richer context to the agent to understand the applicability of this memory.
I'm happy to contribute, if this is later decided to be included.
Alternatives considered
One immediate option to add this feature is to instruct the agent to record context explictly into the content, or to the entity/tag using a specific format. This is minimum modification to the code, but is less scalable in the future, given a memory store may grow or be exported/shared.
Additional context
No additional context needed.
Problem
Currently, mnemon has several mechanisms to provide isolation and context: named stores, tags, and entities. Additionally, integrations like DSH and NanoClaw have memory spaces and global/local memory auto-switching, showing that scope and applicability are real design considerations.
However, the core mnemonic has no mechanism to say that a memory is only applicable within a certain context, nor does the skill guide how the agent should record this.
For example, if I use a global memory store on two different but similar API projects, and in one, I said: "You should use RFC 7807 details for all API error responses". In contrast, in another, I said: "Stick to my custom {error, code, trace} envelope". Both should be encoded as high-importance decisions, but only applicable within their own context. Switching to a local store means some other decisions and conventions don't transfer between them.
Currently, mnemon relies on the agent to encode this implicit scope correctly on its own, without skill/guidance explaining how, or a dedicated model to accept this information.
Proposed solution
I would like to propose a minimal set of scope metadata to add to the memory. For example:
{ "scope": { "type": "project", "id": "project-a" } }The exact shape, constraints, etc. should be further discussed. In the same direction, other information such as applicability or validity timeframe may also be considered. They do not have to affect recall at first, but to provide richer context to the agent to understand the applicability of this memory.
I'm happy to contribute, if this is later decided to be included.
Alternatives considered
One immediate option to add this feature is to instruct the agent to record context explictly into the content, or to the entity/tag using a specific format. This is minimum modification to the code, but is less scalable in the future, given a memory store may grow or be exported/shared.
Additional context
No additional context needed.