fix: address code review on merged feature set
Five high-confidence findings from the post-merge reviewer pass: 1. memory.update MCP tool description claimed "Project is upserted if it doesn't exist", but the handler used resolveProjectId and would error. Matched the description to the actual behavior (call project.identify first) — keeps parity with memory.write. 2. updateMemoryAction's UPDATE statement was missing the userId guard. The preceding scoped SELECT made it not exploitable in practice, but it diverged from deleteMemoryAction's pattern. Added the guard for defense in depth. 3. putSnippet's UPDATE statement had the same missing userId guard — fixed the same way. 4. MemoryUpdateInput's refine for scope='user' accepted both project=undefined AND project=""; the snippets refine only accepted undefined. Tightened MemoryUpdateInput to require undefined, matching the snippets rule. Web actions already coerce "" → undefined before parsing, so no caller is affected. 5. 0002_snippets_scope.sql created two indexes unconditionally — replaced with CREATE INDEX IF NOT EXISTS so re-runs after a drizzle-kit push won't trip. Also adds .claude/ to .gitignore so worktree directories from multi-agent builds aren't accidentally committed. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -42,3 +42,4 @@ coverage/
|
||||
# Local data volumes (if anyone bind-mounts under repo)
|
||||
data/
|
||||
postgres-data/
|
||||
.claude/
|
||||
|
||||
Reference in New Issue
Block a user