feat(server): add institutional memory recall
- File-based memory under .boocode/memory/ (project/user/reference topics) - Hierarchical 4-scope scan: global → home → project → session - Keyword/tag relevance matching for query-based recall - Injected as <boocode-memory> block in system prompt at assembly - v1 recall-only (extract/dream deferred to v2)
This commit is contained in:
17
apps/server/src/services/memory/paths.ts
Normal file
17
apps/server/src/services/memory/paths.ts
Normal file
@@ -0,0 +1,17 @@
|
||||
import { join } from 'node:path';
|
||||
import { mkdir } from 'node:fs/promises';
|
||||
|
||||
const TOPICS = ['project', 'user', 'reference'] as const;
|
||||
export type MemoryTopic = (typeof TOPICS)[number];
|
||||
|
||||
export function getMemoryRoot(projectRoot: string): string {
|
||||
return join(projectRoot, '.boocode', 'memory');
|
||||
}
|
||||
|
||||
export function getTopicDir(root: string, topic: MemoryTopic): string {
|
||||
return join(root, topic);
|
||||
}
|
||||
|
||||
export async function ensureMemoryScaffold(root: string): Promise<void> {
|
||||
await Promise.all(TOPICS.map((t) => mkdir(join(root, t), { recursive: true })));
|
||||
}
|
||||
Reference in New Issue
Block a user