stellar-memory 0.8.1 → 0.8.3

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/README.md CHANGED
@@ -19,7 +19,7 @@ Stellar Memory is a local-first, persistent memory system for AI assistants. It
19
19
  - **Hybrid Search** -- FTS5 keyword search + sqlite-vec KNN vector search, merged via Reciprocal Rank Fusion
20
20
  - **Local Embeddings** -- all-MiniLM-L6-v2 (384d) runs entirely in-process via `@xenova/transformers`
21
21
  - **Corona Cache** -- in-memory tier of up to 200 core memories for sub-millisecond recall
22
- - **MCP Native** -- 16 tools + 1 resource, works with Claude Code, Claude Desktop, and any MCP client
22
+ - **MCP Native** -- 16 tools + 1 resource, works with Claude Code, Codex, Claude Desktop, and other MCP clients
23
23
  - **REST API** -- Hono server on port 21547 with 13 route groups
24
24
  - **3D Dashboard** -- React + Three.js solar system visualization with D3 orbital overlay
25
25
  - **Multi-Project** -- isolated memory spaces (galaxies) with cross-project universal memories
@@ -104,6 +104,26 @@ Then in Claude Code, Stellar Memory automatically:
104
104
  3. Stores decisions, errors, and milestones as they happen
105
105
  4. Commits session state before the conversation ends
106
106
 
107
+ ### Use with Codex
108
+
109
+ Add this block to `~/.codex/config.toml`:
110
+
111
+ ```toml
112
+ [mcp_servers."stellar-memory"]
113
+ command = "node"
114
+ args = ["/absolute/path/to/stellar-memory/dist/index.js"]
115
+ ```
116
+
117
+ Or use the setup helper:
118
+
119
+ ```bash
120
+ npx stellar-memory init --codex
121
+ ```
122
+
123
+ That command also installs a Stellar Memory workflow section into the project `AGENTS.md` so Codex restores context, recalls before guessing, and commits before ending work.
124
+
125
+ Codex does not support Claude-style session hooks. In Codex, the MCP server still works normally, and the first Stellar tool response can restore saved sun context.
126
+
107
127
  ### Use with Claude Desktop
108
128
 
109
129
  Add to `claude_desktop_config.json`:
@@ -360,3 +380,4 @@ The test suite uses a virtual module plugin in `vitest.config.ts` to bridge `nod
360
380
  ## License
361
381
 
362
382
  MIT
383
+
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * stellar-memory init One-command setup for Stellar Memory MCP server.
3
+ * stellar-memory init -- One-command setup for Stellar Memory MCP server.
4
4
  *
5
5
  * Usage:
6
- * npx stellar-memory init # Configure Claude Code + download model
7
- * npx stellar-memory init --skip-model # Skip embedding model download
8
- * npx stellar-memory init --global # Register MCP globally (default)
9
- * npx stellar-memory init --project # Register MCP in .mcp.json (project-level)
6
+ * npx stellar-memory init # Configure Claude Code + download model
7
+ * npx stellar-memory init --codex # Configure Codex + download model
8
+ * npx stellar-memory init --client=both # Configure Claude Code and Codex
9
+ * npx stellar-memory init --skip-model # Skip embedding model download
10
+ * npx stellar-memory init --global # Claude: register MCP globally (default)
11
+ * npx stellar-memory init --project # Claude: register MCP in .mcp.json (project-level)
10
12
  */
11
13
  export {};
12
14
  //# sourceMappingURL=init.d.ts.map
package/dist/cli/init.js CHANGED
@@ -1,12 +1,14 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * stellar-memory init One-command setup for Stellar Memory MCP server.
3
+ * stellar-memory init -- One-command setup for Stellar Memory MCP server.
4
4
  *
5
5
  * Usage:
6
- * npx stellar-memory init # Configure Claude Code + download model
7
- * npx stellar-memory init --skip-model # Skip embedding model download
8
- * npx stellar-memory init --global # Register MCP globally (default)
9
- * npx stellar-memory init --project # Register MCP in .mcp.json (project-level)
6
+ * npx stellar-memory init # Configure Claude Code + download model
7
+ * npx stellar-memory init --codex # Configure Codex + download model
8
+ * npx stellar-memory init --client=both # Configure Claude Code and Codex
9
+ * npx stellar-memory init --skip-model # Skip embedding model download
10
+ * npx stellar-memory init --global # Claude: register MCP globally (default)
11
+ * npx stellar-memory init --project # Claude: register MCP in .mcp.json (project-level)
10
12
  */
11
13
  import { execSync, spawnSync } from 'node:child_process';
12
14
  import { existsSync, readFileSync, writeFileSync, mkdirSync } from 'node:fs';
@@ -22,17 +24,18 @@ const YELLOW = '\x1b[33m';
22
24
  const RED = '\x1b[31m';
23
25
  const BOLD = '\x1b[1m';
24
26
  const RESET = '\x1b[0m';
27
+ const CODEX_AGENTS_MARKER = '## Stellar Memory Workflow (Codex)';
25
28
  function log(msg) {
26
29
  console.log(msg);
27
30
  }
28
31
  function success(msg) {
29
- console.log(`${GREEN}✓${RESET} ${msg}`);
32
+ console.log(`${GREEN}OK${RESET} ${msg}`);
30
33
  }
31
34
  function warn(msg) {
32
35
  console.log(`${YELLOW}!${RESET} ${msg}`);
33
36
  }
34
37
  function fail(msg) {
35
- console.error(`${RED}✗${RESET} ${msg}`);
38
+ console.error(`${RED}X${RESET} ${msg}`);
36
39
  }
37
40
  function checkNodeVersion() {
38
41
  const [major, minor] = process.versions.node.split('.').map(Number);
@@ -53,13 +56,30 @@ function checkClaudeCLI() {
53
56
  return false;
54
57
  }
55
58
  }
56
- /** Prompt user for a yes/no or choice question. Returns trimmed input. */
59
+ function parseClientTarget(args) {
60
+ const explicit = args.find((arg) => arg.startsWith('--client='));
61
+ if (explicit) {
62
+ const value = explicit.slice('--client='.length).toLowerCase();
63
+ if (value === 'claude' || value === 'codex' || value === 'both') {
64
+ return value;
65
+ }
66
+ warn(`Unknown client target "${value}" -- defaulting to Claude`);
67
+ return 'claude';
68
+ }
69
+ const wantsClaude = args.includes('--claude');
70
+ const wantsCodex = args.includes('--codex');
71
+ if (wantsClaude && wantsCodex)
72
+ return 'both';
73
+ if (wantsCodex)
74
+ return 'codex';
75
+ return 'claude';
76
+ }
57
77
  function prompt(question) {
58
78
  const rl = createInterface({ input: process.stdin, output: process.stdout });
59
- return new Promise((resolve) => {
79
+ return new Promise((resolveAnswer) => {
60
80
  rl.question(question, (answer) => {
61
81
  rl.close();
62
- resolve(answer.trim());
82
+ resolveAnswer(answer.trim());
63
83
  });
64
84
  });
65
85
  }
@@ -67,7 +87,6 @@ const MCP_SERVER_CONFIG = {
67
87
  command: 'npx',
68
88
  args: ['-y', 'stellar-memory'],
69
89
  };
70
- /** Write MCP config to project-level .mcp.json in cwd. */
71
90
  function configureMCPProject() {
72
91
  const mcpPath = join(process.cwd(), '.mcp.json');
73
92
  let config = {};
@@ -76,7 +95,7 @@ function configureMCPProject() {
76
95
  config = JSON.parse(readFileSync(mcpPath, 'utf-8'));
77
96
  }
78
97
  catch {
79
- warn('.mcp.json exists but is unreadable overwriting');
98
+ warn('.mcp.json exists but is unreadable -- overwriting');
80
99
  }
81
100
  }
82
101
  if (!config.mcpServers) {
@@ -92,7 +111,6 @@ function configureMCPProject() {
92
111
  log(` ${CYAN}Scope:${RESET} project-level (only this directory)`);
93
112
  return true;
94
113
  }
95
- /** Write MCP config to global ~/.claude/mcp_settings.json. */
96
114
  function configureMCPGlobal() {
97
115
  const claudeDir = join(homedir(), '.claude');
98
116
  const settingsPath = join(claudeDir, 'mcp_settings.json');
@@ -105,7 +123,7 @@ function configureMCPGlobal() {
105
123
  config = JSON.parse(readFileSync(settingsPath, 'utf-8'));
106
124
  }
107
125
  catch {
108
- warn('mcp_settings.json exists but is unreadable overwriting');
126
+ warn('mcp_settings.json exists but is unreadable -- overwriting');
109
127
  }
110
128
  }
111
129
  if (!config.mcpServers) {
@@ -121,21 +139,17 @@ function configureMCPGlobal() {
121
139
  log(` ${CYAN}Scope:${RESET} all Claude Code projects`);
122
140
  return true;
123
141
  }
124
- /** Try claude CLI first, then fall back to direct file editing. */
125
142
  function configureMCPViaCLI(scope) {
126
143
  const scopeFlag = scope === 'global' ? '--global' : '--project';
127
- const result = spawnSync('claude', [
128
- 'mcp', 'add', scopeFlag, 'stellar-memory', '--', 'npx', '-y', 'stellar-memory'
129
- ], {
144
+ const result = spawnSync('claude', ['mcp', 'add', scopeFlag, 'stellar-memory', '--', 'npx', '-y', 'stellar-memory'], {
130
145
  stdio: 'inherit',
131
146
  shell: true,
132
147
  });
133
148
  return result.status === 0;
134
149
  }
135
- async function configureMCP(args) {
150
+ async function configureClaude(args) {
136
151
  log('');
137
152
  log('Configuring Claude MCP server...');
138
- // Determine scope from flags, or ask interactively
139
153
  let scope;
140
154
  if (args.includes('--project')) {
141
155
  scope = 'project';
@@ -144,48 +158,99 @@ async function configureMCP(args) {
144
158
  scope = 'global';
145
159
  }
146
160
  else if (!process.stdin.isTTY) {
147
- // Non-interactive (e.g. piped) — default to global
148
161
  scope = 'global';
149
162
  log(` ${CYAN}Defaulting to global MCP registration (non-interactive mode)${RESET}`);
150
163
  }
151
164
  else {
152
165
  log('');
153
166
  log(' Where should Stellar Memory be registered?');
154
- log(` ${CYAN}[1]${RESET} Global available in all Claude Code projects ${BOLD}(recommended)${RESET}`);
155
- log(` ${CYAN}[2]${RESET} Project only this directory (.mcp.json)`);
167
+ log(` ${CYAN}[1]${RESET} Global -- available in all Claude Code projects ${BOLD}(recommended)${RESET}`);
168
+ log(` ${CYAN}[2]${RESET} Project -- only this directory (.mcp.json)`);
156
169
  log('');
157
170
  const answer = await prompt(' Enter 1 or 2 [1]: ');
158
171
  scope = answer === '2' ? 'project' : 'global';
159
172
  }
160
- // Try claude CLI if available (it handles edge cases better)
161
173
  if (checkClaudeCLI()) {
162
174
  if (configureMCPViaCLI(scope)) {
163
175
  success(`MCP server registered with Claude (${scope})`);
164
176
  return true;
165
177
  }
166
- warn('claude CLI registration failed falling back to direct config edit');
178
+ warn('claude CLI registration failed -- falling back to direct config edit');
167
179
  }
168
- // Direct file edit fallback
169
- if (scope === 'project') {
170
- return configureMCPProject();
180
+ return scope === 'project' ? configureMCPProject() : configureMCPGlobal();
181
+ }
182
+ function configureCodex() {
183
+ const codexDir = join(homedir(), '.codex');
184
+ const configPath = join(codexDir, 'config.toml');
185
+ const blockHeader = '[mcp_servers."stellar-memory"]';
186
+ if (!existsSync(codexDir)) {
187
+ mkdirSync(codexDir, { recursive: true });
171
188
  }
172
- else {
173
- return configureMCPGlobal();
189
+ let existing = '';
190
+ if (existsSync(configPath)) {
191
+ try {
192
+ existing = readFileSync(configPath, 'utf-8');
193
+ }
194
+ catch {
195
+ warn('config.toml exists but is unreadable -- overwriting stellar-memory section only');
196
+ }
197
+ }
198
+ const alreadyConfigured = /^\[mcp_servers\.(?:"stellar-memory"|'stellar-memory'|stellar-memory)\]\s*$/m.test(existing);
199
+ if (alreadyConfigured) {
200
+ success('MCP already registered in ~/.codex/config.toml');
201
+ return true;
174
202
  }
203
+ const block = [
204
+ blockHeader,
205
+ 'command = "npx"',
206
+ 'args = ["-y", "stellar-memory"]',
207
+ ].join('\n');
208
+ const prefix = existing.trim().length === 0 ? '' : `${existing.replace(/\s*$/, '')}\n\n`;
209
+ writeFileSync(configPath, `${prefix}${block}\n`);
210
+ success('MCP registered globally (~/.codex/config.toml)');
211
+ log(` ${CYAN}Scope:${RESET} all Codex sessions`);
212
+ return true;
213
+ }
214
+ function buildCodexAgentsSection() {
215
+ return [
216
+ CODEX_AGENTS_MARKER,
217
+ '',
218
+ 'For Codex sessions in this workspace, use Stellar Memory as the default memory system.',
219
+ '',
220
+ '- At the start of each session, read `stellar://sun`. If that is unavailable, call `status`.',
221
+ '- Before making assumptions on a topic, call `recall` with the feature, bug, file, or subsystem name.',
222
+ '- When a durable decision, fix, error, milestone, or workflow insight appears, store it with `remember`.',
223
+ '- Before ending a task or conversation, call `commit` with `current_work`, `decisions`, `next_steps`, and `errors`.',
224
+ '- After a long exchange with many new details, consider `observe` to extract additional memories.',
225
+ ].join('\n');
226
+ }
227
+ function installCodexAgentsGuidance() {
228
+ const agentsPath = join(process.cwd(), 'AGENTS.md');
229
+ const section = buildCodexAgentsSection();
230
+ if (existsSync(agentsPath)) {
231
+ const existing = readFileSync(agentsPath, 'utf-8');
232
+ if (existing.includes(CODEX_AGENTS_MARKER)) {
233
+ success('Codex workspace guidance already present in AGENTS.md');
234
+ return true;
235
+ }
236
+ const trimmed = existing.replace(/\s*$/, '');
237
+ writeFileSync(agentsPath, `${trimmed}\n\n${section}\n`);
238
+ success('Codex workspace guidance appended to AGENTS.md');
239
+ return true;
240
+ }
241
+ writeFileSync(agentsPath, `# AGENTS.md\n\n${section}\n`);
242
+ success('AGENTS.md created with Codex workspace guidance');
243
+ return true;
175
244
  }
176
245
  async function downloadModel() {
177
246
  log('');
178
247
  log('Downloading embedding model (~90 MB, one-time)...');
179
- const setupScript = resolve(ROOT, '..', 'scripts', 'setup.mjs');
180
- // When installed via npm, scripts/ is at the package root
181
- // When running from source, it's at ../scripts/
182
248
  const candidates = [
183
- resolve(ROOT, 'scripts', 'setup.mjs'), // npm installed (dist/scripts/)
184
- resolve(ROOT, '..', 'scripts', 'setup.mjs'), // from source (src/../scripts/)
249
+ resolve(ROOT, 'scripts', 'setup.mjs'),
250
+ resolve(ROOT, '..', 'scripts', 'setup.mjs'),
185
251
  ];
186
- const scriptPath = candidates.find(p => existsSync(p));
252
+ const scriptPath = candidates.find((candidate) => existsSync(candidate));
187
253
  if (!scriptPath) {
188
- // Fallback: run inline model download
189
254
  try {
190
255
  const { pipeline, env } = await import('@xenova/transformers');
191
256
  env.cacheDir = process.env['TRANSFORMERS_CACHE'] ?? undefined;
@@ -198,7 +263,7 @@ async function downloadModel() {
198
263
  }
199
264
  },
200
265
  });
201
- process.stdout.write('\r' + ' '.repeat(40) + '\r');
266
+ process.stdout.write(`\r${' '.repeat(40)}\r`);
202
267
  success('Embedding model downloaded');
203
268
  return true;
204
269
  }
@@ -216,42 +281,54 @@ async function downloadModel() {
216
281
  success('Embedding model ready');
217
282
  return true;
218
283
  }
219
- else {
220
- warn('Model download failed — you can retry: npm run setup');
221
- return false;
222
- }
284
+ warn('Model download failed -- you can retry: npm run setup');
285
+ return false;
223
286
  }
224
287
  async function main() {
225
288
  log('');
226
- log(`${BOLD}${CYAN} Stellar Memory Setup${RESET}`);
227
- log(` ${''.repeat(40)}`);
289
+ log(`${BOLD}${CYAN} Stellar Memory -- Setup${RESET}`);
290
+ log(` ${'-'.repeat(40)}`);
228
291
  log('');
229
- // 1. Check Node.js
230
292
  if (!checkNodeVersion()) {
231
293
  process.exit(1);
232
294
  }
233
295
  const args = process.argv.slice(2);
234
296
  const skipModel = args.includes('--skip-model');
235
- // 2. Download embedding model
297
+ const clientTarget = parseClientTarget(args);
236
298
  if (!skipModel) {
237
299
  await downloadModel();
238
300
  }
239
301
  else {
240
302
  warn('Skipping model download (--skip-model)');
241
303
  }
242
- // 3. Configure MCP
243
- await configureMCP(args);
244
- // 4. Install Claude Code hooks (auto-restore + auto-observe + auto-commit)
245
- const { installHooks } = await import('./hooks/install.js');
246
- installHooks();
247
- // 5. Done
304
+ if (clientTarget === 'claude' || clientTarget === 'both') {
305
+ await configureClaude(args);
306
+ const { installHooks } = await import('./hooks/install.js');
307
+ installHooks();
308
+ }
309
+ if (clientTarget === 'codex' || clientTarget === 'both') {
310
+ log('');
311
+ log('Configuring Codex MCP server...');
312
+ configureCodex();
313
+ installCodexAgentsGuidance();
314
+ }
248
315
  log('');
249
316
  log(`${BOLD}${GREEN} Setup complete!${RESET}`);
250
317
  log('');
251
- log(' Stellar Memory will activate automatically in Claude Code.');
252
- log(' Start a conversation and your memories will persist across sessions.');
318
+ if (clientTarget === 'claude') {
319
+ log(' Stellar Memory will activate automatically in Claude Code.');
320
+ log(' Start a conversation and your memories will persist across sessions.');
321
+ }
322
+ else if (clientTarget === 'codex') {
323
+ log(' Stellar Memory is registered in Codex as an MCP server.');
324
+ log(' Codex workspace guidance was installed in AGENTS.md for automatic recall and commit behavior.');
325
+ }
326
+ else {
327
+ log(' Stellar Memory is registered for Claude Code and Codex.');
328
+ log(' Claude gets hooks; Codex gets workspace guidance plus direct MCP access after restart.');
329
+ }
253
330
  log('');
254
- log(` ${CYAN}Dashboard:${RESET} npx stellar-memory api http://localhost:21547`);
331
+ log(` ${CYAN}Dashboard:${RESET} npx stellar-memory api -- http://localhost:21547`);
255
332
  log(` ${CYAN}Docs:${RESET} https://stellar-memory.com`);
256
333
  log('');
257
334
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/cli/init.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,8 @@
1
1
  /**
2
- * corona.ts In-memory cache layer (the Sun's corona)
2
+ * corona.ts ??In-memory cache layer (the Sun's corona)
3
3
  *
4
4
  * The corona is an in-memory cache of core + near zone memories that enables
5
- * sub-millisecond recall for the most important memories mimicking how
5
+ * sub-millisecond recall for the most important memories ??mimicking how
6
6
  * humans instantly access their name, age, and profession (System 1).
7
7
  *
8
8
  * Architecture:
@@ -1,8 +1,8 @@
1
1
  /**
2
- * corona.ts In-memory cache layer (the Sun's corona)
2
+ * corona.ts ??In-memory cache layer (the Sun's corona)
3
3
  *
4
4
  * The corona is an in-memory cache of core + near zone memories that enables
5
- * sub-millisecond recall for the most important memories mimicking how
5
+ * sub-millisecond recall for the most important memories ??mimicking how
6
6
  * humans instantly access their name, age, and profession (System 1).
7
7
  *
8
8
  * Architecture:
@@ -17,6 +17,7 @@
17
17
  import { tokenize } from './gravity.js';
18
18
  import { getMemoriesByProject } from '../storage/queries.js';
19
19
  import { createLogger } from '../utils/logger.js';
20
+ import { filterActiveMemories, isMemoryCurrentlyActive } from './validity.js';
20
21
  const log = createLogger('corona');
21
22
  const MAX_CORONA_SIZE = 200;
22
23
  const CORE_THRESHOLD = 1.0; // distance < 1.0 AU
@@ -32,10 +33,7 @@ class Corona {
32
33
  this.tokenIndex.clear();
33
34
  const memories = getMemoriesByProject(project);
34
35
  // memories are already sorted by distance ASC from the query
35
- // Filter out expired memories (valid_until in the past)
36
- const now = new Date().toISOString();
37
- const validMemories = memories.filter(m => !m.valid_until || m.valid_until > now);
38
- const toCache = validMemories.slice(0, MAX_CORONA_SIZE);
36
+ const toCache = filterActiveMemories(memories).slice(0, MAX_CORONA_SIZE);
39
37
  for (const mem of toCache) {
40
38
  this.cache.set(mem.id, mem);
41
39
  this.indexTokens(mem);
@@ -109,6 +107,10 @@ class Corona {
109
107
  upsert(memory) {
110
108
  if (memory.project !== this.project)
111
109
  return;
110
+ if (!isMemoryCurrentlyActive(memory)) {
111
+ this.evict(memory.id);
112
+ return;
113
+ }
112
114
  // Remove old token entries if updating
113
115
  if (this.cache.has(memory.id)) {
114
116
  this.removeTokens(memory.id);
@@ -153,7 +155,7 @@ class Corona {
153
155
  project: this.project,
154
156
  };
155
157
  }
156
- // ── Private helpers ─────────────────────────────────────────────────────
158
+ // ?�?� Private helpers ?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�?�
157
159
  indexTokens(memory) {
158
160
  const text = [memory.content, memory.summary, ...memory.tags].join(' ');
159
161
  const tokens = tokenize(text);
@@ -1 +1 @@
1
- {"version":3,"file":"corona.js","sourceRoot":"","sources":["../../src/engine/corona.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"corona.js","sourceRoot":"","sources":["../../src/engine/corona.ts"],"names":[],"mappings":"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"}
@@ -13,7 +13,7 @@
13
13
  *
14
14
  * No LLM is used — all extraction is done via keyword matching and heuristics.
15
15
  */
16
- import type { Memory } from './types.js';
16
+ import type { Memory, MemoryType } from './types.js';
17
17
  /**
18
18
  * Extract meaningful key terms from text.
19
19
  *
@@ -23,6 +23,7 @@ import type { Memory } from './types.js';
23
23
  * Returns unique terms sorted by appearance order.
24
24
  */
25
25
  export declare function extractKeyTerms(text: string): string[];
26
+ export declare function shouldPersistObservation(sentence: string, type: MemoryType): boolean;
26
27
  /**
27
28
  * Split a conversation into chunks suitable for observation.
28
29
  *
@@ -49,6 +49,10 @@ const CONTEXT_KEYWORDS = [
49
49
  'connects to', 'integrates', 'relies on', 'powered by',
50
50
  '사용', '필요', '의존', '기반',
51
51
  ];
52
+ const LOW_SIGNAL_PATTERNS = [
53
+ /\b(?:sounds good|looks good|thank you|thanks|got it|okay|ok)\b/i,
54
+ /\b(?:let me know|please check|can you check|follow up later)\b/i,
55
+ ];
52
56
  // ---------------------------------------------------------------------------
53
57
  // Stop words — filtered out during key term extraction
54
58
  // ---------------------------------------------------------------------------
@@ -98,6 +102,19 @@ export function extractKeyTerms(text) {
98
102
  }
99
103
  return terms;
100
104
  }
105
+ export function shouldPersistObservation(sentence, type) {
106
+ const trimmed = sentence.trim();
107
+ if (trimmed.length < 20)
108
+ return false;
109
+ if (trimmed.endsWith('?'))
110
+ return false;
111
+ if (LOW_SIGNAL_PATTERNS.some((pattern) => pattern.test(trimmed)))
112
+ return false;
113
+ const terms = extractKeyTerms(trimmed);
114
+ const hasActionSignal = /\b(?:decided|migrated|implemented|fixed|failed|todo|next step|will use|switched)\b/i.test(trimmed);
115
+ const minTerms = type === 'decision' || type === 'error' || type === 'milestone' ? 2 : 3;
116
+ return hasActionSignal || terms.length >= minTerms;
117
+ }
101
118
  // ---------------------------------------------------------------------------
102
119
  // Keyword detection helpers
103
120
  // ---------------------------------------------------------------------------
@@ -178,6 +195,8 @@ export function observe(conversationChunk, project) {
178
195
  const type = detectType(sentence);
179
196
  if (!type)
180
197
  continue;
198
+ if (!shouldPersistObservation(sentence, type))
199
+ continue;
181
200
  // Normalize to avoid creating duplicate memories in the same chunk
182
201
  const normalized = sentence.toLowerCase().replace(/\s+/g, ' ').trim();
183
202
  if (seen.has(normalized))
@@ -1 +1 @@
1
- {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/engine/observation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"observation.js","sourceRoot":"","sources":["../../src/engine/observation.ts"],"names":[],"mappings":"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"}