m9k_ignore_project
Exclude a project from conversation indexing in Melchizedek's persistent memory. Prevent future indexing and optionally delete existing indexed sessions for that project.
Instructions
Exclude a project from indexing. Future sessions won't be indexed. Optionally purge existing indexed sessions for this project.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project | Yes | Project path to ignore (e.g. /Users/foo/my-secret-repo) | |
| purge | No | Also delete already-indexed sessions for this project |
Implementation Reference
- src/tools/manage.ts:152-199 (handler)Registration and handler for the m9k_ignore_project tool. It calls ignoreProject from db.js to update the project ignore status and optionally purges project data using purgeProjectData.
server.registerTool( 'm9k_ignore_project', { description: "Exclude a project from indexing. Future sessions won't be indexed. " + 'Optionally purge existing indexed sessions for this project.', inputSchema: { project: z.string().describe('Project path to ignore (e.g. /Users/foo/my-secret-repo)'), purge: z .boolean() .default(false) .describe('Also delete already-indexed sessions for this project'), }, annotations: { readOnlyHint: false, destructiveHint: true, idempotentHint: false, openWorldHint: false, }, }, async ({ project, purge }) => { ignoreProject(ctx.db, project); let sessionsPurged = 0; let chunksPurged = 0; if (purge) { const result = purgeProjectData(ctx.db, project); sessionsPurged = result.sessionsPurged; chunksPurged = result.chunksPurged; } return { content: [ { type: 'text' as const, text: JSON.stringify({ ignored: true, project, purged: purge, sessionsPurged, chunksPurged, }), }, ], }; }, );