dotmem 0.0.8 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +13 -1
- package/DOTMEM.md +538 -539
- package/JOY.md +55 -0
- package/MEMORY.md +4 -4
- package/PACKAGE.md +1 -1
- package/README.md +251 -417
- package/agent.cjs +13 -0
- package/agent.js +13 -0
- package/bin/cli.cjs +5 -0
- package/bin/cli.js +5 -0
- package/bin/mcp.cjs +5 -0
- package/bin/mcp.js +5 -0
- package/cli.cjs +207 -61
- package/cli.js +207 -61
- package/global.cjs +206 -60
- package/global.js +206 -60
- package/index.cjs +1897 -68
- package/index.js +1869 -61
- package/llms.txt +94 -10
- package/mcp.cjs +207 -61
- package/mcp.js +207 -61
- package/package.json +1 -1
package/JOY.md
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
# Joy (optional identity integration)
|
|
2
|
+
|
|
3
|
+
Joy/Jo is an optional agent identity and profile hosted by the Dotmem runtime. Dotmem core is model- and persona-independent; the profile is not required for basic memory operations.
|
|
4
|
+
|
|
5
|
+
## What are Joy and Jo?
|
|
6
|
+
|
|
7
|
+
**Joy** is the canonical AI identity/profile for dotmem — the operational role name that comes from the profile, not from the runtime. **Jo** is an alternative shorthand for the same identity. They represent the assistant's persistent identity in the dotmem system (canonical profile, decision-making behavior, trust model, and relationship style).
|
|
8
|
+
|
|
9
|
+
The canonical profile (`core/profile/`) defines:
|
|
10
|
+
|
|
11
|
+
- **Identity & behavior** (`behavior.md`, `soul.md`) — character, relationship style, conversational behavior
|
|
12
|
+
- **Trust model** (`trust.md`) — epistemic standards, verification requirements
|
|
13
|
+
- **Decision framework** (`decision.md`) — how Jo evaluates and makes technical decisions
|
|
14
|
+
- **Curiosity & learning** (`curiosity.md`) — what Jo seeks to understand and remember
|
|
15
|
+
- **Language conventions** (`language.md`) — communication style
|
|
16
|
+
|
|
17
|
+
When activated via `Joy` or `Jo`, dotmem loads this canonical profile as part of the deterministic discovery order. The profile is optional for basic memory operations but required for identity-gated features (carrier handshake, authority binding).
|
|
18
|
+
|
|
19
|
+
## Quick Start (VS Code chat, Copilot, Kilo, Claude, Codex, ...)
|
|
20
|
+
|
|
21
|
+
```shell
|
|
22
|
+
npm i -g dotmem memorio
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```chat
|
|
26
|
+
npx -y -p dotmem dotmem-mcp
|
|
27
|
+
|
|
28
|
+
Joy
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
## Activation behavior
|
|
32
|
+
|
|
33
|
+
Activation matching is **exact phrase only** (case-insensitive, trimmed, trailing punctuation ignored):
|
|
34
|
+
|
|
35
|
+
- ✅ `Joy`, `joy`, `Joy.`, ` Joy `, `Jo`, `jo`, `Jo!`
|
|
36
|
+
- ❌ `Hello Joy`, `Joyful`, `Joytron`, `My name is Jo`, `Joanna`
|
|
37
|
+
|
|
38
|
+
Ordinary mentions of a name (e.g., "Jo said...") do not trigger activation. The matcher requires the entire message to be exactly one of the activation phrases. `Hello Joy` and `Hi Joy` do not activate Joy.
|
|
39
|
+
|
|
40
|
+
## Deterministic discovery order
|
|
41
|
+
|
|
42
|
+
When the optional Joy integration is activated, it follows this discovery order:
|
|
43
|
+
|
|
44
|
+
1. Check `<storage-root>/DOTMEM.md` and read the contract.
|
|
45
|
+
2. Load user-level memory from `user.mem`.
|
|
46
|
+
3. Resolve the current project identity.
|
|
47
|
+
4. Load project memory from `<storage-root>/projects/<project-id>.mem`.
|
|
48
|
+
|
|
49
|
+
A carrier handshake (`npx dotmem handshake`) evaluates compatibility before projecting any context. Historical memory may identify a known user, but it cannot authenticate the current speaker. Authorization requires a current trusted binding.
|
|
50
|
+
|
|
51
|
+
## See also
|
|
52
|
+
|
|
53
|
+
- [MEMORY.md](./MEMORY.md) — memory model, acquisition contract, policy language, identity and carrier handshake.
|
|
54
|
+
- [SECURITY.md](./SECURITY.md) — trust model, JHF, encryption, multitenancy.
|
|
55
|
+
- [AGENTS.md](./AGENTS.md) — agent working rules and full `memory.*` surface.
|
package/MEMORY.md
CHANGED
|
@@ -98,7 +98,7 @@ Resolution precedence:
|
|
|
98
98
|
persisted by itself.
|
|
99
99
|
2. **User locator** — `dotmem.location.json` (location metadata only) inside the stable
|
|
100
100
|
user anchor.
|
|
101
|
-
3. **Default user-scoped storage** — the user anchor itself: `<user-home>/.
|
|
101
|
+
3. **Default user-scoped storage** — the user anchor itself: `<user-home>/.dotmem`
|
|
102
102
|
(the platform-neutral canonical form; see the OS examples below), resolved from the
|
|
103
103
|
current runtime.
|
|
104
104
|
|
|
@@ -124,14 +124,14 @@ reports completion; the locator never points at a location whose data has not be
|
|
|
124
124
|
migrated and verified. The same verification applies to `restore` before the locator is
|
|
125
125
|
removed.
|
|
126
126
|
|
|
127
|
-
**Canonical form, platform-neutral.** The user anchor is written `<user-home>/.
|
|
127
|
+
**Canonical form, platform-neutral.** The user anchor is written `<user-home>/.dotmem`
|
|
128
128
|
everywhere in this documentation. It resolves at runtime to the current OS user's home:
|
|
129
129
|
|
|
130
130
|
```text
|
|
131
131
|
Example (OS-specific, illustrative only):
|
|
132
132
|
Windows: C:\Users\<user>\.mem
|
|
133
|
-
Linux: /home/<user>/.
|
|
134
|
-
macOS: /Users/<user>/.
|
|
133
|
+
Linux: /home/<user>/.dotmem
|
|
134
|
+
macOS: /Users/<user>/.dotmem
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
The runtime resolves the actual home directory from the OS/environment; no hardcoded
|
package/PACKAGE.md
CHANGED
|
@@ -21,7 +21,7 @@ and are never bundled).
|
|
|
21
21
|
| Item | Where it lives |
|
|
22
22
|
| --- | --- |
|
|
23
23
|
| Project history | `.project/project_history.md` (inside the repository, not published) |
|
|
24
|
-
| Acquired memory (`.mem` packages) | User storage root (`DOTMEM_STORAGE_ROOT` or `<user-home>/.
|
|
24
|
+
| Acquired memory (`.mem` packages) | User storage root (`DOTMEM_STORAGE_ROOT` or `<user-home>/.dotmem`), created at runtime |
|
|
25
25
|
|
|
26
26
|
## Quick start
|
|
27
27
|
|