oh-my-customcodex 0.5.7 → 0.5.8
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/dist/cli/index.js +1 -1
- package/dist/index.js +1 -1
- package/package.json +1 -1
- package/templates/.claude/agents/arch-speckit-agent.md +1 -1
- package/templates/.claude/agents/sys-memory-keeper.md +9 -9
- package/templates/.claude/ontology/agents.yaml +16 -4
- package/templates/.claude/ontology/skills.yaml +9 -9
- package/templates/.claude/rules/SHOULD-memory-integration.md +4 -5
- package/templates/.claude/skills/memory-management/SKILL.md +7 -12
- package/templates/.claude/skills/memory-recall/SKILL.md +2 -2
- package/templates/.claude/skills/memory-save/SKILL.md +2 -2
- package/templates/.claude/skills/peer-messaging/SKILL.md +2 -2
- package/templates/guides/agentmemory-migration/measure-step-zero.md +13 -113
- package/templates/guides/agentmemory-migration/phase-1-coexist.md +18 -252
- package/templates/guides/index.yaml +1 -1
- package/templates/manifest.json +2 -2
package/dist/cli/index.js
CHANGED
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -60,7 +60,7 @@ When writing acceptance criteria, use the EARS (Easy Approach to Requirements Sy
|
|
|
60
60
|
| Ubiquitous | The `<system>` shall `<action>` | The validator shall reject invalid frontmatter |
|
|
61
61
|
| Event-driven | When `<event>`, the `<system>` shall `<action>` | When a new agent is created, the routing skill shall update its pattern table |
|
|
62
62
|
| State-driven | While `<state>`, the `<system>` shall `<action>` | While ecomode is active, agents shall use concise output format |
|
|
63
|
-
| Optional | Where `<condition>`, the `<system>` shall `<action>` | Where the user has MCP configured, the orchestrator shall attempt
|
|
63
|
+
| Optional | Where `<condition>`, the `<system>` shall `<action>` | Where the user has an approved memory MCP configured, the orchestrator shall attempt searchable memory save |
|
|
64
64
|
| Complex | When `<event>` while `<state>` where `<condition>`, the `<system>` shall `<action>`, resulting in `<result>` | When session ends while Agent Teams is active where tasks remain incomplete, the orchestrator shall log incomplete tasks, resulting in a task summary |
|
|
65
65
|
|
|
66
66
|
**Usage**: Apply EARS format in spec output's `invariants` and `acceptance_criteria` sections. This ensures testable, unambiguous requirements.
|
|
@@ -27,26 +27,26 @@ permissionMode: bypassPermissions
|
|
|
27
27
|
|
|
28
28
|
When a task targets `.claude/**`, `templates/.claude/**`, or other Claude-compatibility mirrors, treat the old `/tmp` wrapper as legacy fallback only. Codex-native `.codex/**` edits stay direct, and Claude Code `bypassPermissions` can write `.claude/skills/`, `.claude/agents/`, and `.claude/commands/` directly on v2.1.121+, with broader protected-path coverage on v2.1.126+.
|
|
29
29
|
|
|
30
|
-
You are a session memory management specialist ensuring context survives across session compactions using
|
|
30
|
+
You are a session memory management specialist ensuring context survives across session compactions using native auto-memory first and optional omx-memory/AgentMemory-compatible searchable backends.
|
|
31
31
|
|
|
32
32
|
## Capabilities
|
|
33
33
|
|
|
34
34
|
- Save session context before compaction
|
|
35
35
|
- Restore context on session start
|
|
36
|
-
- Query
|
|
37
|
-
- Tag
|
|
36
|
+
- Query native and configured searchable memory by project and semantic search
|
|
37
|
+
- Tag memory summaries with project, session, and task info
|
|
38
38
|
|
|
39
39
|
## Save Operation
|
|
40
40
|
|
|
41
|
-
Collect tasks, decisions, open items, code changes. Format with metadata (project, session, tags, timestamp).
|
|
41
|
+
Collect tasks, decisions, open items, and code changes. Format with metadata (project, session, tags, timestamp). Return the summary to the orchestrator for optional `memory_add` or `observation_add` persistence.
|
|
42
42
|
|
|
43
43
|
## Recall Operation
|
|
44
44
|
|
|
45
|
-
Build semantic query with project prefix + keywords + optional date.
|
|
45
|
+
Build semantic query with project prefix + keywords + optional date. Prefer native MEMORY.md and configured `memory_search`/`memory_read` tools. Filter by relevance and return a summary.
|
|
46
46
|
|
|
47
47
|
## Query Guidelines
|
|
48
48
|
|
|
49
|
-
Always include project name. Use task-based, temporal, or topic-based queries. Avoid
|
|
49
|
+
Always include project name. Use task-based, temporal, or topic-based queries. Avoid backend-specific filter syntax unless the configured memory MCP documents it.
|
|
50
50
|
|
|
51
51
|
## Native MEMORY.md Compaction
|
|
52
52
|
|
|
@@ -60,7 +60,7 @@ Treat native auto-memory as an index, not a transcript. Keep the first 200 loade
|
|
|
60
60
|
|
|
61
61
|
## Config
|
|
62
62
|
|
|
63
|
-
Provider:
|
|
63
|
+
Provider order: native MEMORY.md first; optional omx-memory or AgentMemory-compatible MCP only when a searchable backend is configured. Deprecated Chroma memory providers are intentionally not used.
|
|
64
64
|
|
|
65
65
|
## Session-End Auto-Save
|
|
66
66
|
|
|
@@ -75,9 +75,9 @@ When triggered by session-end signal from orchestrator:
|
|
|
75
75
|
- Existing behaviors observed again → promote confidence level
|
|
76
76
|
- Contradicted behaviors → flag for review or demote
|
|
77
77
|
3. **Update native auto-memory** (MEMORY.md) with session learnings + behaviors
|
|
78
|
-
4. **Return formatted summary** to orchestrator for MCP persistence (
|
|
78
|
+
4. **Return formatted summary** to orchestrator for optional MCP persistence (omx-memory/AgentMemory-compatible backends; episodic indexing is automatic when configured)
|
|
79
79
|
|
|
80
|
-
> **Note**: MCP tools
|
|
80
|
+
> **Note**: MCP tools are orchestrator-scoped and cannot be called from subagents. The orchestrator handles searchable memory saves directly after receiving the formatted summary.
|
|
81
81
|
|
|
82
82
|
### Confidence Decay Check
|
|
83
83
|
|
|
@@ -39,7 +39,7 @@ classes:
|
|
|
39
39
|
agents: [scholastic]
|
|
40
40
|
description: "Reasoning, critique, and coordination specialists"
|
|
41
41
|
SystemAgent:
|
|
42
|
-
agents: [sys-memory-keeper, sys-naggy]
|
|
42
|
+
agents: [sys-memory-keeper, sys-naggy, tracker-checkpoint]
|
|
43
43
|
description: "System utility agents"
|
|
44
44
|
|
|
45
45
|
# Agent instances
|
|
@@ -526,14 +526,14 @@ agents:
|
|
|
526
526
|
|
|
527
527
|
sys-memory-keeper:
|
|
528
528
|
class: SystemAgent
|
|
529
|
-
description: "Use when you need to manage session memory persistence using
|
|
529
|
+
description: "Use when you need to manage session memory persistence using native memory plus omx-memory, save context before compaction, restore context on session start, or query past memories"
|
|
530
530
|
model: sonnet
|
|
531
531
|
memory: project
|
|
532
532
|
effort: medium
|
|
533
533
|
skills: [memory-management, memory-save, memory-recall]
|
|
534
534
|
tools: [Read, Write, Edit, Grep, Glob, Bash]
|
|
535
|
-
summary: "Session memory manager for
|
|
536
|
-
keywords: [memory, persistence,
|
|
535
|
+
summary: "Session memory manager for native memory and approved searchable persistence"
|
|
536
|
+
keywords: [memory, persistence, omx-memory, context, session, recall, semantic-search]
|
|
537
537
|
file_patterns: []
|
|
538
538
|
|
|
539
539
|
sys-naggy:
|
|
@@ -548,6 +548,18 @@ agents:
|
|
|
548
548
|
keywords: [todo, tasks, reminders, tracking, deadlines, project-momentum]
|
|
549
549
|
file_patterns: ["TODO.md", "*.todo"]
|
|
550
550
|
|
|
551
|
+
tracker-checkpoint:
|
|
552
|
+
class: SystemAgent
|
|
553
|
+
description: "Use when pipeline or DAG execution needs checkpoint persistence, state transition validation, or resume-after-failure support"
|
|
554
|
+
model: sonnet
|
|
555
|
+
memory: project
|
|
556
|
+
effort: medium
|
|
557
|
+
skills: [dag-orchestration, pipeline-guards]
|
|
558
|
+
tools: [Read, Write, Edit, Grep, Glob, Bash]
|
|
559
|
+
summary: "Pipeline checkpoint tracker for resumable DAG and pipeline state"
|
|
560
|
+
keywords: [pipeline, checkpoint, resume, dag, state, tracker]
|
|
561
|
+
file_patterns: ["/tmp/.codex-pipeline-*.json", "/tmp/.codex-dag-*.json"]
|
|
562
|
+
|
|
551
563
|
scholastic:
|
|
552
564
|
class: CoordinationAgent
|
|
553
565
|
description: "Ontology-first reasoning reviewer for category mistakes, hidden assumptions, modality separation, scholastic critique, and minimal-repair proposals."
|
|
@@ -292,29 +292,29 @@ skills:
|
|
|
292
292
|
|
|
293
293
|
memory-management:
|
|
294
294
|
class: MemorySkill
|
|
295
|
-
description: "Memory persistence operations using
|
|
295
|
+
description: "Memory persistence operations using native memory plus omx-memory"
|
|
296
296
|
user_invocable: false
|
|
297
297
|
model_invocable: true
|
|
298
|
-
summary: "Provide memory persistence operations using
|
|
299
|
-
keywords: [memory,
|
|
298
|
+
summary: "Provide memory persistence operations using native memory and approved searchable backends for session context"
|
|
299
|
+
keywords: [memory, omx-memory, persistence, session, context]
|
|
300
300
|
rule_references: [R011]
|
|
301
301
|
|
|
302
302
|
memory-recall:
|
|
303
303
|
class: MemorySkill
|
|
304
|
-
description: "Search and recall memories from
|
|
304
|
+
description: "Search and recall memories from native memory plus omx-memory"
|
|
305
305
|
user_invocable: true
|
|
306
306
|
model_invocable: true
|
|
307
|
-
summary: "Search and recall relevant memories from
|
|
308
|
-
keywords: [memory, recall, search, semantic,
|
|
307
|
+
summary: "Search and recall relevant memories from approved searchable backends"
|
|
308
|
+
keywords: [memory, recall, search, semantic, omx-memory]
|
|
309
309
|
rule_references: [R011]
|
|
310
310
|
|
|
311
311
|
memory-save:
|
|
312
312
|
class: MemorySkill
|
|
313
|
-
description: "Save current session context to
|
|
313
|
+
description: "Save current session context to native memory plus omx-memory"
|
|
314
314
|
user_invocable: true
|
|
315
315
|
model_invocable: false
|
|
316
|
-
summary: "Save current session context to
|
|
317
|
-
keywords: [memory, save, session, context,
|
|
316
|
+
summary: "Save current session context to native memory and approved searchable backends"
|
|
317
|
+
keywords: [memory, save, session, context, omx-memory]
|
|
318
318
|
rule_references: [R011]
|
|
319
319
|
|
|
320
320
|
monitoring-setup:
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## Architecture
|
|
6
6
|
|
|
7
7
|
**Primary**: Native auto memory (`memory` field in agent frontmatter). No external dependencies.
|
|
8
|
-
**Supplementary**: AgentMemory-compatible MCP
|
|
8
|
+
**Supplementary**: `omx-memory` or another AgentMemory-compatible MCP for cross-session searchable recall. Deprecated Chroma-based memory backends are not used in this project.
|
|
9
9
|
|
|
10
10
|
Rule: If native auto memory can handle it, do NOT use a searchable MCP backend.
|
|
11
11
|
|
|
@@ -33,7 +33,7 @@ Agent frontmatter `memory: project|user|local` enables persistent memory:
|
|
|
33
33
|
|
|
34
34
|
<!-- DETAIL: Backend Selection and Split-Brain Guard
|
|
35
35
|
|
|
36
|
-
Prefer MCP tools named `memory_search`, `memory_add`, `observation_add`, and `memory_read`.
|
|
36
|
+
Prefer MCP tools named `memory_search`, `memory_add`, `observation_add`, and `memory_read`. Do not call deprecated Chroma memory tools or wrappers in this project.
|
|
37
37
|
|
|
38
38
|
If both backend families are available, warn before writing. Dual-write is acceptable only during an explicit migration window; outside that window, choose one canonical searchable backend and record which one was used in the session summary.
|
|
39
39
|
|
|
@@ -332,8 +332,8 @@ User signals session end
|
|
|
332
332
|
2. Update native auto-memory (MEMORY.md)
|
|
333
333
|
3. Return formatted summary to orchestrator
|
|
334
334
|
→ Orchestrator performs MCP saves directly:
|
|
335
|
-
1. searchable memory save (
|
|
336
|
-
2.
|
|
335
|
+
1. searchable memory save (omx-memory or AgentMemory-compatible backend, if available via ToolSearch)
|
|
336
|
+
2. deprecated Chroma memory backends are skipped by project policy
|
|
337
337
|
(episodic-memory auto-indexes after session — no action needed)
|
|
338
338
|
→ Orchestrator confirms to user
|
|
339
339
|
```
|
|
@@ -355,7 +355,6 @@ MCP tools (searchable memory backends, episodic-memory) are **orchestrator-scope
|
|
|
355
355
|
|--------|-------|------|--------|----------|
|
|
356
356
|
| Native auto-memory | sys-memory-keeper | Write | Update MEMORY.md with session learnings | Yes |
|
|
357
357
|
| AgentMemory-compatible / omx-memory | Orchestrator | `memory_add` or `observation_add` | Save session summary with project, tasks, decisions | No (best-effort) |
|
|
358
|
-
| legacy claude-mem | Orchestrator | `chroma_add_documents` or compatible save wrapper | Fallback searchable save when no preferred backend exists | No (best-effort) |
|
|
359
358
|
| episodic-memory | Automatic | (auto-indexed) | No action needed — conversations are indexed automatically after session ends | N/A |
|
|
360
359
|
-->
|
|
361
360
|
|
|
@@ -7,15 +7,14 @@ user-invocable: false
|
|
|
7
7
|
|
|
8
8
|
## Purpose
|
|
9
9
|
|
|
10
|
-
Provide memory persistence operations using native `MEMORY.md` first, then a searchable MCP backend for cross-session retrieval. Prefer
|
|
10
|
+
Provide memory persistence operations using native `MEMORY.md` first, then a searchable MCP backend for cross-session retrieval. Prefer `omx-memory` or another AgentMemory-compatible backend exposing `memory_search`, `memory_add`, and `observation_add`. Deprecated Chroma memory backends are not used in this project.
|
|
11
11
|
|
|
12
12
|
## Backend Order
|
|
13
13
|
|
|
14
14
|
1. Native auto-memory: compact durable facts in `MEMORY.md`.
|
|
15
|
-
2. AgentMemory-compatible MCP
|
|
16
|
-
3. Legacy `claude-mem`: fallback only when the project still exposes Chroma tools.
|
|
15
|
+
2. `omx-memory` or AgentMemory-compatible MCP: cross-session search, shared observations, and temporal recall.
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
If multiple searchable backends are active, choose the configured canonical backend and record it in the session summary. Do not dual-write unless a migration window is explicitly documented.
|
|
19
18
|
|
|
20
19
|
## Operations
|
|
21
20
|
|
|
@@ -37,7 +36,6 @@ steps:
|
|
|
37
36
|
3. Store in configured backend:
|
|
38
37
|
- Prefer memory_add for session summaries
|
|
39
38
|
- Use observation_add for atomic behavioral or project observations
|
|
40
|
-
- Legacy fallback: chroma_add_documents
|
|
41
39
|
- Include metadata
|
|
42
40
|
```
|
|
43
41
|
|
|
@@ -53,7 +51,6 @@ steps:
|
|
|
53
51
|
- Include date for temporal searches
|
|
54
52
|
2. Search configured backend:
|
|
55
53
|
- Prefer memory_search
|
|
56
|
-
- Legacy fallback: chroma_query_documents
|
|
57
54
|
- Request top N results
|
|
58
55
|
3. Format results:
|
|
59
56
|
- Sort by relevance
|
|
@@ -68,7 +65,7 @@ operation: get
|
|
|
68
65
|
description: Retrieve specific memory by ID
|
|
69
66
|
steps:
|
|
70
67
|
1. Prefer memory_read or memory_search by ID
|
|
71
|
-
2.
|
|
68
|
+
2. Fall back to `memory_search` with the ID when direct read is unavailable
|
|
72
69
|
3. Return full document content
|
|
73
70
|
```
|
|
74
71
|
|
|
@@ -80,8 +77,6 @@ steps:
|
|
|
80
77
|
# Always include project name
|
|
81
78
|
memory_search({ query: "my-project {search_terms}", limit: 8 })
|
|
82
79
|
|
|
83
|
-
# Legacy fallback
|
|
84
|
-
chroma_query_documents(["my-project {search_terms}"])
|
|
85
80
|
|
|
86
81
|
# Examples:
|
|
87
82
|
memory_search({ query: "my-project authentication flow", limit: 5 })
|
|
@@ -91,8 +86,8 @@ memory_search({ query: "my-project 2025-01-24 memory system", limit: 5 })
|
|
|
91
86
|
### Get by ID
|
|
92
87
|
|
|
93
88
|
```python
|
|
94
|
-
# When you have a specific document ID
|
|
95
|
-
|
|
89
|
+
# When you have a specific document ID
|
|
90
|
+
memory_read({ id: "document_id" })
|
|
96
91
|
```
|
|
97
92
|
|
|
98
93
|
## Document Format
|
|
@@ -219,7 +214,7 @@ recall_errors:
|
|
|
219
214
|
|
|
220
215
|
| Capability | Searchable MCP | MemKraft |
|
|
221
216
|
|-----------|-----------|----------|
|
|
222
|
-
| Session persistence | ✅ (
|
|
217
|
+
| Session persistence | ✅ (approved searchable backend) | ✅ (Markdown) |
|
|
223
218
|
| Entity tracking | ❌ | ✅ (person/org/concept) |
|
|
224
219
|
| Source attribution | ❌ | ✅ (`[Source: who, when, how]`) |
|
|
225
220
|
| Auto-maintenance | ❌ | ✅ (Dream Cycle) |
|
|
@@ -8,7 +8,7 @@ user-invocable: true
|
|
|
8
8
|
|
|
9
9
|
# Memory Recall Skill
|
|
10
10
|
|
|
11
|
-
Search and recall relevant memories from native `MEMORY.md` plus the configured searchable MCP backend. Prefer
|
|
11
|
+
Search and recall relevant memories from native `MEMORY.md` plus the configured searchable MCP backend. Prefer `omx-memory` or AgentMemory-compatible tools (`memory_search`, `memory_read`). Deprecated Chroma memory backends are not used in this project.
|
|
12
12
|
|
|
13
13
|
## Parameters
|
|
14
14
|
|
|
@@ -35,7 +35,7 @@ Search and recall relevant memories from native `MEMORY.md` plus the configured
|
|
|
35
35
|
|
|
36
36
|
2. Search configured backend
|
|
37
37
|
├── Prefer memory_search
|
|
38
|
-
└──
|
|
38
|
+
└── Report backend unavailable when no approved memory MCP is configured
|
|
39
39
|
|
|
40
40
|
3. Format results
|
|
41
41
|
├── Sort by relevance score
|
|
@@ -9,7 +9,7 @@ user-invocable: true
|
|
|
9
9
|
|
|
10
10
|
# Memory Save Skill
|
|
11
11
|
|
|
12
|
-
Save current session context to native memory and the configured searchable MCP backend for persistence across context compaction. Prefer
|
|
12
|
+
Save current session context to native memory and the configured searchable MCP backend for persistence across context compaction. Prefer `omx-memory` or AgentMemory-compatible tools (`memory_add`, `observation_add`). Deprecated Chroma memory backends are not used in this project.
|
|
13
13
|
|
|
14
14
|
## Options
|
|
15
15
|
|
|
@@ -38,7 +38,7 @@ Save current session context to native memory and the configured searchable MCP
|
|
|
38
38
|
3. Store in configured backend
|
|
39
39
|
├── Prefer memory_add for summaries
|
|
40
40
|
├── Prefer observation_add for atomic learnings
|
|
41
|
-
└──
|
|
41
|
+
└── Skip searchable save when no approved backend is configured
|
|
42
42
|
|
|
43
43
|
4. Report result
|
|
44
44
|
```
|
|
@@ -17,7 +17,7 @@ Enables cross-session coordination between multiple GPT Codex + OMX sessions thr
|
|
|
17
17
|
|-------|-----------|-------|----------|
|
|
18
18
|
| Intra-session agents | Agent Teams (R018) | TeamCreate, SendMessage | Single session multi-agent collaboration |
|
|
19
19
|
| Cross-session instances | claude-peers-mcp | list_peers, send_message | Multi-terminal/project real-time coordination |
|
|
20
|
-
| Cross-session memory |
|
|
20
|
+
| Cross-session memory | omx-memory / AgentMemory-compatible MCP | memory_add, memory_search | Async memory persistence |
|
|
21
21
|
|
|
22
22
|
> **Important**: R018's `SendMessage` and claude-peers-mcp's `send_message` are different tools with different scopes. Do not confuse them.
|
|
23
23
|
|
|
@@ -54,6 +54,6 @@ claude mcp add claude-peers-mcp -- npx claude-peers-mcp
|
|
|
54
54
|
## Integration
|
|
55
55
|
|
|
56
56
|
- Works with R018 Agent Teams (different scope, complementary)
|
|
57
|
-
- Works with
|
|
57
|
+
- Works with omx-memory or AgentMemory-compatible memory backends (async vs sync messaging)
|
|
58
58
|
- Works with `omcodex:status` (peer discovery)
|
|
59
59
|
- Broker runs on localhost:7899 (SQLite-backed)
|
|
@@ -1,120 +1,20 @@
|
|
|
1
|
-
#
|
|
1
|
+
# External Memory Migration — Retired Measurement Plan
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
> **참고 메모리**: `feedback_claude_mem_maintenance`, `project_sequencing_alpha_beta_gamma`
|
|
3
|
+
> **Status**: Retired by #1426. The project no longer measures or operates the deprecated Chroma-based memory plugin.
|
|
4
|
+
> **Current policy**: Native auto-memory is primary; `omx-memory` or an AgentMemory-compatible MCP may be used only as an approved searchable supplement.
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
## Decision
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
The previous measurement-first migration plan is obsolete. The project no longer needs usage baselining for the deprecated plugin because that backend is no longer an accepted dependency.
|
|
10
9
|
|
|
11
|
-
|
|
10
|
+
## Replacement Workflow
|
|
12
11
|
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
12
|
+
1. Keep durable agent facts in native `MEMORY.md` files.
|
|
13
|
+
2. Use `memory_search`, `memory_read`, `memory_add`, or `observation_add` only when an approved searchable backend is configured.
|
|
14
|
+
3. Skip searchable persistence when no approved backend is available; do not install or invoke deprecated Chroma memory tooling.
|
|
15
|
+
4. Record memory-backend decisions in R011 and the session summary.
|
|
16
16
|
|
|
17
|
-
|
|
17
|
+
## Verification
|
|
18
18
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
# 기본 실행 (최근 7일, 리포트를 ~/.claude/measure-claude-mem-usage-YYYY-MM-DD.md 에 저장)
|
|
23
|
-
bash scripts/measure-claude-mem-usage.sh
|
|
24
|
-
|
|
25
|
-
# 최근 14일 스캔
|
|
26
|
-
bash scripts/measure-claude-mem-usage.sh --days 14
|
|
27
|
-
|
|
28
|
-
# 출력 경로 지정
|
|
29
|
-
bash scripts/measure-claude-mem-usage.sh --output ~/Documents/claude-mem-usage.md
|
|
30
|
-
|
|
31
|
-
# 헤더 없이 실행 (CI/파이프라인 삽입용)
|
|
32
|
-
bash scripts/measure-claude-mem-usage.sh --quiet
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
### 스캔 대상 경로
|
|
36
|
-
|
|
37
|
-
| 경로 | 설명 |
|
|
38
|
-
|------|------|
|
|
39
|
-
| `~/.claude-mem/archives/` | claude-mem MCP 아카이브 (`.jsonl`, `.json`) |
|
|
40
|
-
| `~/.claude/projects/*/session-*.jsonl` | Claude Code 세션 로그 |
|
|
41
|
-
|
|
42
|
-
둘 중 하나가 없어도 스크립트는 조용히 skip하고 나머지를 스캔한다.
|
|
43
|
-
|
|
44
|
-
---
|
|
45
|
-
|
|
46
|
-
## 3. 1주 수집 계획
|
|
47
|
-
|
|
48
|
-
| 시점 | 작업 |
|
|
49
|
-
|------|------|
|
|
50
|
-
| **Day 1** | 첫 측정 — 베이스라인 (`--days 7` 기준 기존 archives 기반) |
|
|
51
|
-
| **Day 4** | 중간 측정 — 추이 확인 (`--days 4`) |
|
|
52
|
-
| **Day 7** | 최종 측정 — 자산 처리표 재검토 및 Phase 1 GO/NO-GO 결정 |
|
|
53
|
-
|
|
54
|
-
세 시점 모두 `--output` 경로를 달리 지정하여 비교 가능한 파일로 보관한다:
|
|
55
|
-
|
|
56
|
-
```bash
|
|
57
|
-
bash scripts/measure-claude-mem-usage.sh --output ~/.claude/claude-mem-day1.md
|
|
58
|
-
bash scripts/measure-claude-mem-usage.sh --days 4 --output ~/.claude/claude-mem-day4.md
|
|
59
|
-
bash scripts/measure-claude-mem-usage.sh --days 7 --output ~/.claude/claude-mem-day7.md
|
|
60
|
-
```
|
|
61
|
-
|
|
62
|
-
---
|
|
63
|
-
|
|
64
|
-
## 4. 해석 기준
|
|
65
|
-
|
|
66
|
-
| 호출 수 | 신호 | 권장 조치 |
|
|
67
|
-
|---------|------|----------|
|
|
68
|
-
| **0** | 미사용 | 폐기 안전 — 1주 후 처리 결정 |
|
|
69
|
-
| **1-3** | 가끔 사용 | wrapper 또는 대체 도구 매핑 필요 |
|
|
70
|
-
| **4+** | 정기 사용 | 폐기 시 대체 도구 명확화 필수 |
|
|
71
|
-
|
|
72
|
-
폐기 후보 5종 기준 예상:
|
|
73
|
-
- `make-plan`, `do`, `babysit` → 0 예상 (native AgentMemory로 대체 완료)
|
|
74
|
-
- `wowerpoint`, `knowledge-agent`, `pathfinder` → 0~1 예상 (특수 목적 skill)
|
|
75
|
-
|
|
76
|
-
실측값이 예상과 다를 경우 자산 처리표를 수정한 후 Phase 1에 진입한다.
|
|
77
|
-
|
|
78
|
-
---
|
|
79
|
-
|
|
80
|
-
## 5. 결과 활용
|
|
81
|
-
|
|
82
|
-
### 5-1. #1169에 리포트 첨부
|
|
83
|
-
|
|
84
|
-
```bash
|
|
85
|
-
gh issue comment 1169 --body-file ~/.claude/claude-mem-day7.md
|
|
86
|
-
```
|
|
87
|
-
|
|
88
|
-
### 5-2. 자산 처리표 갱신
|
|
89
|
-
|
|
90
|
-
`.claude/agent-memory/sys-memory-keeper/feedback_claude_mem_maintenance.md` 내 "처리 방향" 열을 실측값 기반으로 업데이트한다.
|
|
91
|
-
|
|
92
|
-
### 5-3. Phase 1 GO/NO-GO 결정
|
|
93
|
-
|
|
94
|
-
| 조건 | 결정 |
|
|
95
|
-
|------|------|
|
|
96
|
-
| 폐기 후보 모두 호출 수 0 | GO — Phase 1 진입 |
|
|
97
|
-
| 폐기 후보 중 1개 이상 호출 수 1-3 | CONDITIONAL GO — 대체 도구 매핑 완료 후 진입 |
|
|
98
|
-
| 폐기 후보 중 1개 이상 호출 수 4+ | NO-GO — 처리표 재설계 후 재측정 |
|
|
99
|
-
|
|
100
|
-
---
|
|
101
|
-
|
|
102
|
-
## 6. 한계 및 주의사항
|
|
103
|
-
|
|
104
|
-
| 항목 | 설명 |
|
|
105
|
-
|------|------|
|
|
106
|
-
| archives 미존재 | `~/.claude-mem/archives/` 없으면 카운트 0 (정상 — silent skip) |
|
|
107
|
-
| 세션 로그 형식 변경 | Claude Code 업데이트로 `session-*.jsonl` 구조가 변경되면 grep 패턴 수정 필요 |
|
|
108
|
-
| claude-mem MCP telemetry 미사용 | 외부 도구 의존 최소화 원칙에 따라 MCP 자체 지표는 사용하지 않음 |
|
|
109
|
-
| grep 기반 측정 | 같은 파일에 skill 이름이 여러 줄 등장하면 복수 카운트됨 (과대 계산 가능성) |
|
|
110
|
-
| macOS/Linux 호환 | `stat` 옵션 차이를 스크립트 내에서 자동 처리 (`-f %m` vs `-c %Y`) |
|
|
111
|
-
|
|
112
|
-
---
|
|
113
|
-
|
|
114
|
-
## 7. 참고
|
|
115
|
-
|
|
116
|
-
- **이슈**: [#1169](../../.github/ — `gh issue view 1169`)
|
|
117
|
-
- **자산 처리표**: `.claude/agent-memory/sys-memory-keeper/feedback_claude_mem_maintenance.md`
|
|
118
|
-
- **시퀀싱 메모리**: `.claude/agent-memory/mgr-creator/project_sequencing_alpha_beta_gamma.md` (또는 해당 메모리 파일)
|
|
119
|
-
- **스크립트**: `scripts/measure-claude-mem-usage.sh`
|
|
120
|
-
- **Phase 1 가이드**: `guides/agentmemory-migration/` (이 디렉토리에 추가 예정)
|
|
19
|
+
- Repository search should not find active instructions for removed memory-plugin names or plugin-specific tool calls.
|
|
20
|
+
- Memory skills must mention native memory and approved searchable MCP tools, not legacy plugin-specific commands.
|
|
@@ -1,261 +1,27 @@
|
|
|
1
|
-
#
|
|
1
|
+
# External Memory Migration — Retired COEXIST Plan
|
|
2
2
|
|
|
3
|
-
>
|
|
4
|
-
>
|
|
5
|
-
> **이전 단계**: [measure-step-zero.md](./measure-step-zero.md)
|
|
3
|
+
> **Status**: Retired by #1426. COEXIST mode is no longer supported for this project.
|
|
4
|
+
> **Current policy**: Native auto-memory first; optional `omx-memory`/AgentMemory-compatible searchable backend only when already configured.
|
|
6
5
|
|
|
7
|
-
|
|
6
|
+
## Why This Plan Is Retired
|
|
8
7
|
|
|
9
|
-
|
|
8
|
+
The old coexistence plan introduced dual-backend complexity and session-end save ambiguity. The current project decision removes that complexity: deprecated Chroma-based memory tooling is not installed, invoked, measured, or treated as a fallback.
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
이 단계에서는 어떤 destructive 변경도 발생하지 않습니다:
|
|
10
|
+
## Active Policy
|
|
13
11
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
-
|
|
17
|
-
-
|
|
12
|
+
| Need | Supported path |
|
|
13
|
+
| --- | --- |
|
|
14
|
+
| Agent-local durable facts | Native `MEMORY.md` via agent frontmatter `memory:` |
|
|
15
|
+
| Cross-session search | `omx-memory` or AgentMemory-compatible MCP exposing `memory_search`/`memory_read` |
|
|
16
|
+
| Session summary save | `memory_add` or `observation_add` when an approved backend is configured |
|
|
17
|
+
| No approved backend | Skip searchable save and continue; memory failures do not block the main task |
|
|
18
18
|
|
|
19
|
-
|
|
19
|
+
## Session-End Checklist
|
|
20
20
|
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
| AgentMemory | 설치 후 병렬 활성 | 단독 운영 |
|
|
25
|
-
| 데이터 마이그레이션 | 없음 | 선택적 (측정 후 결정) |
|
|
26
|
-
| 어댑터 코드 | STUB 유지 | 활성화 |
|
|
27
|
-
| 자산 처리표 | 적용 보류 | 사용자 검토 후 적용 |
|
|
21
|
+
1. `sys-memory-keeper` updates native memory when a session-end signal exists.
|
|
22
|
+
2. Orchestrator attempts approved searchable memory save only if the tool is available.
|
|
23
|
+
3. Deprecated plugin-specific wrappers and Chroma tool calls remain unused.
|
|
28
24
|
|
|
29
|
-
|
|
25
|
+
## Follow-up
|
|
30
26
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
> **R001 주의**: auto-install 금지. 아래 명령어를 사용자 로컬에서 수동으로 실행합니다.
|
|
34
|
-
|
|
35
|
-
### 2-1. 패키지 설치
|
|
36
|
-
|
|
37
|
-
```bash
|
|
38
|
-
# 옵션 A: pip
|
|
39
|
-
pip install agentmemory
|
|
40
|
-
|
|
41
|
-
# 옵션 B: pipx (격리 환경 권장)
|
|
42
|
-
pipx install agentmemory
|
|
43
|
-
|
|
44
|
-
# 옵션 C: uvx (uv 사용 시)
|
|
45
|
-
uvx agentmemory
|
|
46
|
-
```
|
|
47
|
-
|
|
48
|
-
### 2-2. MCP 서버 등록
|
|
49
|
-
|
|
50
|
-
```bash
|
|
51
|
-
# Claude Code CLI로 등록
|
|
52
|
-
claude mcp add agentmemory -- agentmemory mcp
|
|
53
|
-
|
|
54
|
-
# 또는 .mcp.json 수동 편집 (R001 auto-install 금지)
|
|
55
|
-
# {
|
|
56
|
-
# "mcpServers": {
|
|
57
|
-
# "agentmemory": {
|
|
58
|
-
# "command": "agentmemory",
|
|
59
|
-
# "args": ["mcp"]
|
|
60
|
-
# }
|
|
61
|
-
# }
|
|
62
|
-
# }
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
### 2-3. 등록 확인
|
|
66
|
-
|
|
67
|
-
```bash
|
|
68
|
-
claude mcp list
|
|
69
|
-
# 출력에 agentmemory 서버가 표시되어야 합니다
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
---
|
|
73
|
-
|
|
74
|
-
## 3. COEXIST 정책
|
|
75
|
-
|
|
76
|
-
Phase 1 기간 동안 두 backend는 다음 정책에 따라 공존합니다.
|
|
77
|
-
|
|
78
|
-
### 3-1. 기본 운영 방식
|
|
79
|
-
|
|
80
|
-
| 작업 | 우선 backend | 비고 |
|
|
81
|
-
|------|-------------|------|
|
|
82
|
-
| 기존 메모리 조회 | claude-mem | 기존 Chroma 데이터 유지 |
|
|
83
|
-
| 신규 메모리 저장 | 둘 다 | COEXIST 기간 중 병렬 저장 권장 |
|
|
84
|
-
| 세션 종료 시 저장 | 둘 다 | R011 Session-End Self-Check 참조 |
|
|
85
|
-
|
|
86
|
-
### 3-2. 쿼리 병합 (memory-aggregator)
|
|
87
|
-
|
|
88
|
-
두 backend에서 결과가 반환될 경우 `memory-aggregator` 스킬이 결과를 병합합니다:
|
|
89
|
-
|
|
90
|
-
```
|
|
91
|
-
claude-mem.search(query) → 결과 A
|
|
92
|
-
AgentMemory.search(query) → 결과 B
|
|
93
|
-
memory-aggregator → A + B 중복 제거 후 반환
|
|
94
|
-
```
|
|
95
|
-
|
|
96
|
-
`memory-aggregator` 스킬이 없는 경우, 두 결과를 순서대로 제시하고 사용자가 선택합니다.
|
|
97
|
-
|
|
98
|
-
### 3-3. 충돌 방지 원칙
|
|
99
|
-
|
|
100
|
-
- claude-mem 기존 데이터를 AgentMemory로 자동 복사하지 않음
|
|
101
|
-
- 두 backend에 동일 키로 저장 시 별개 항목으로 취급
|
|
102
|
-
- 강제 동기화 없음 — Phase 2에서 마이그레이션 여부 결정
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
## 4. Dual-Backend 충돌 Advisory
|
|
107
|
-
|
|
108
|
-
`.mcp.json`에 두 서버가 동시 등록된 상태를 감지하면 다음 advisory를 출력합니다.
|
|
109
|
-
|
|
110
|
-
### 4-1. 감지 조건
|
|
111
|
-
|
|
112
|
-
```
|
|
113
|
-
.mcp.json 내 서버 목록:
|
|
114
|
-
- "claude-mem" (또는 관련 tool prefix)
|
|
115
|
-
- "agentmemory"
|
|
116
|
-
→ 두 개 동시 존재 시 Phase 1 COEXIST 상태로 간주
|
|
117
|
-
```
|
|
118
|
-
|
|
119
|
-
### 4-2. Advisory 메시지
|
|
120
|
-
|
|
121
|
-
```
|
|
122
|
-
[Advisory] Dual memory backend detected (Phase 1 COEXIST)
|
|
123
|
-
- claude-mem: active (Chroma)
|
|
124
|
-
- agentmemory: active (SQLite)
|
|
125
|
-
현재 Phase 1 COEXIST 정책 적용 중 — 두 backend 병렬 운영
|
|
126
|
-
Phase 2 SWITCH 진입 전까지 두 backend 유지
|
|
127
|
-
가이드: guides/agentmemory-migration/phase-1-coexist.md
|
|
128
|
-
```
|
|
129
|
-
|
|
130
|
-
이 advisory는 경고가 아닙니다. Phase 1에서는 정상 상태입니다.
|
|
131
|
-
|
|
132
|
-
### 4-3. 강제 선택 (사용자 명시 시)
|
|
133
|
-
|
|
134
|
-
사용자가 명시적으로 "agentmemory만 사용" 또는 "claude-mem만 사용"을 요청하는 경우,
|
|
135
|
-
해당 요청을 따르되 자산 처리표 적용 및 어댑터 활성화는 Phase 2 GO 결정 후 진행합니다.
|
|
136
|
-
|
|
137
|
-
---
|
|
138
|
-
|
|
139
|
-
## 5. 사용자 행동 계획
|
|
140
|
-
|
|
141
|
-
### 5-1. 1주 measure 루틴 (자동 트리거: 2026-05-25)
|
|
142
|
-
|
|
143
|
-
`scripts/measure-claude-mem-usage.sh` 스크립트를 1주간 실행합니다:
|
|
144
|
-
|
|
145
|
-
```bash
|
|
146
|
-
# 수동 실행 (필요 시)
|
|
147
|
-
bash scripts/measure-claude-mem-usage.sh
|
|
148
|
-
|
|
149
|
-
# 결과는 .claude/outputs/sessions/ 에 저장됩니다
|
|
150
|
-
```
|
|
151
|
-
|
|
152
|
-
측정 항목:
|
|
153
|
-
- 일별 호출 횟수 (claude-mem vs AgentMemory)
|
|
154
|
-
- 응답 지연 (p50, p95)
|
|
155
|
-
- 저장 성공/실패율
|
|
156
|
-
- 메모리 용량 (Chroma vs SQLite)
|
|
157
|
-
|
|
158
|
-
### 5-2. GO/NO-GO 결정 기준 (2026-05-25 예정)
|
|
159
|
-
|
|
160
|
-
| 지표 | GO 조건 | NO-GO 조건 |
|
|
161
|
-
|------|---------|------------|
|
|
162
|
-
| 응답 지연 | AgentMemory ≤ claude-mem × 1.2 | AgentMemory > claude-mem × 2.0 |
|
|
163
|
-
| 저장 성공률 | ≥ 99% | < 95% |
|
|
164
|
-
| 운영 안정성 | 1주 무장애 | 크래시 또는 데이터 손실 |
|
|
165
|
-
| 호환성 | 기존 메모리 포맷 읽기 가능 | 포맷 비호환으로 검색 실패 |
|
|
166
|
-
|
|
167
|
-
### 5-3. 지금 할 수 있는 것
|
|
168
|
-
|
|
169
|
-
- AgentMemory 설치 및 MCP 등록 (위 섹션 2 참조)
|
|
170
|
-
- 신규 세션에서 AgentMemory로도 저장해보기 (실험적)
|
|
171
|
-
- measure 스크립트 결과 관찰
|
|
172
|
-
- 자산 처리표 (`guides/agentmemory-migration/asset-disposition.md`) 검토 준비
|
|
173
|
-
|
|
174
|
-
---
|
|
175
|
-
|
|
176
|
-
## 6. Phase 2 진입 조건
|
|
177
|
-
|
|
178
|
-
다음 조건이 모두 충족된 경우에만 Phase 2 (SWITCH)로 진행합니다.
|
|
179
|
-
|
|
180
|
-
### 필수 조건
|
|
181
|
-
|
|
182
|
-
- [ ] 1주 measure 결과 GO 판정 (5-2 기준 충족)
|
|
183
|
-
- [ ] 자산 처리표 사용자 검토 완료 (12 plugin skill 처리 방향 결정)
|
|
184
|
-
- [ ] 30분 롤백 절차 검증 완료
|
|
185
|
-
|
|
186
|
-
### 롤백 절차 검증 (Phase 2 진입 전 필수)
|
|
187
|
-
|
|
188
|
-
```bash
|
|
189
|
-
# 1. Chroma 백업 생성
|
|
190
|
-
cp -r ~/.local/share/claude-mem/chroma ~/.local/share/claude-mem/chroma.bak.$(date +%Y%m%d)
|
|
191
|
-
|
|
192
|
-
# 2. 백업에서 복원 가능 여부 확인
|
|
193
|
-
# (실제 복원 수행하지 않고 절차만 검증)
|
|
194
|
-
ls -la ~/.local/share/claude-mem/chroma.bak.*
|
|
195
|
-
|
|
196
|
-
# 3. AgentMemory SQLite 백업
|
|
197
|
-
cp ~/.local/share/agentmemory/memories.db ~/.local/share/agentmemory/memories.db.bak.$(date +%Y%m%d)
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
롤백 소요 시간이 30분 이내임을 확인한 후 Phase 2 진행.
|
|
201
|
-
|
|
202
|
-
---
|
|
203
|
-
|
|
204
|
-
## 7. 현 단계 한계 및 금지 사항
|
|
205
|
-
|
|
206
|
-
### 7-1. STUB 상태 유지 (변경 금지)
|
|
207
|
-
|
|
208
|
-
```
|
|
209
|
-
packages/eval-core/src/adapters/agentmemory.ts ← STUB, 활성화 금지
|
|
210
|
-
packages/eval-core/src/db/schema.ts ← 변경 금지
|
|
211
|
-
```
|
|
212
|
-
|
|
213
|
-
이 파일들은 Phase 2 GO 결정 후 별도 사이클에서 수정합니다.
|
|
214
|
-
|
|
215
|
-
### 7-2. 자산 처리표 적용 보류
|
|
216
|
-
|
|
217
|
-
12 plugin skill의 폐기/유지 결정은 measure 결과를 확인한 후 진행합니다:
|
|
218
|
-
|
|
219
|
-
```
|
|
220
|
-
.claude/skills/memory-*/ ← 폐기 여부 보류
|
|
221
|
-
.claude/skills/claude-mem-*/ ← 폐기 여부 보류
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### 7-3. 데이터 마이그레이션 금지
|
|
225
|
-
|
|
226
|
-
Phase 1에서는 claude-mem Chroma 데이터를 AgentMemory SQLite로 이전하지 않습니다.
|
|
227
|
-
이전은 Phase 2에서 사용자가 명시적으로 승인한 경우에만 진행합니다.
|
|
228
|
-
|
|
229
|
-
---
|
|
230
|
-
|
|
231
|
-
## 8. R011과의 관계
|
|
232
|
-
|
|
233
|
-
Phase 1 COEXIST 기간 중 R011 (SHOULD-memory-integration) 적용:
|
|
234
|
-
|
|
235
|
-
| R011 항목 | COEXIST 수정 사항 |
|
|
236
|
-
|-----------|-----------------|
|
|
237
|
-
| Primary: Native auto memory | 변경 없음 |
|
|
238
|
-
| Supplementary: claude-mem | 변경 없음 (계속 사용) |
|
|
239
|
-
| Session-End Self-Check | claude-mem + AgentMemory 둘 다 저장 시도 |
|
|
240
|
-
| Failure Policy | 둘 중 하나 실패해도 비차단 |
|
|
241
|
-
|
|
242
|
-
세션 종료 시 자가 점검 (COEXIST 확장):
|
|
243
|
-
|
|
244
|
-
```
|
|
245
|
-
1. sys-memory-keeper가 MEMORY.md 갱신? → YES
|
|
246
|
-
2. claude-mem 저장 시도? → YES (기존)
|
|
247
|
-
3. AgentMemory 저장 시도? → YES (COEXIST 추가)
|
|
248
|
-
모두 완료 후 사용자에게 확인
|
|
249
|
-
```
|
|
250
|
-
|
|
251
|
-
---
|
|
252
|
-
|
|
253
|
-
## 9. 참고
|
|
254
|
-
|
|
255
|
-
- **이슈**: #1169 (AgentMemory 마이그레이션 계획)
|
|
256
|
-
- **이전 단계**: [measure-step-zero.md](./measure-step-zero.md)
|
|
257
|
-
- **R011**: `.claude/rules/SHOULD-memory-integration.md` (Dual-Backend Advisory 섹션)
|
|
258
|
-
- **관련 기억**: [[project-sequencing-alpha-beta-gamma]]
|
|
259
|
-
- **자산 처리표**: `guides/agentmemory-migration/asset-disposition.md` (Phase 2 전 검토 필요)
|
|
260
|
-
- **measure 스크립트**: `scripts/measure-claude-mem-usage.sh`
|
|
261
|
-
- **롤백 가이드**: #1169 본문 조치 4 (30분 롤백 절차)
|
|
27
|
+
Keep this guide as a short historical pointer until downstream documentation no longer links to the old AgentMemory migration path.
|
|
@@ -107,7 +107,7 @@ guides:
|
|
|
107
107
|
type: internal
|
|
108
108
|
|
|
109
109
|
- name: agentmemory-migration
|
|
110
|
-
description:
|
|
110
|
+
description: Retired external memory migration guide documenting native-memory-only policy and approved searchable backend usage
|
|
111
111
|
path: ./agentmemory-migration/
|
|
112
112
|
source:
|
|
113
113
|
type: internal
|
package/templates/manifest.json
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "0.5.
|
|
2
|
+
"version": "0.5.8",
|
|
3
3
|
"requiresCC": ">=2.1.121",
|
|
4
4
|
"claudeCode": {
|
|
5
5
|
"minimumVersion": "2.1.121",
|
|
6
6
|
"protectedPathBypassVersion": "2.1.126"
|
|
7
7
|
},
|
|
8
|
-
"lastUpdated": "2026-05-
|
|
8
|
+
"lastUpdated": "2026-05-30T00:00:00.000Z",
|
|
9
9
|
"components": [
|
|
10
10
|
{
|
|
11
11
|
"name": "rules",
|