Skip to content

fix(cat): forget verb clears the economic profile on the TOOL-CALL path too - #562

Merged
catomean merged 1 commit into
mainfrom
fix/forget-tool-path-profile
Aug 2, 2026
Merged

fix(cat): forget verb clears the economic profile on the TOOL-CALL path too#562
catomean merged 1 commit into
mainfrom
fix/forget-tool-path-profile

Conversation

@catomean

@catomean catomean commented Aug 2, 2026

Copy link
Copy Markdown
Collaborator

#545 registered forget_memories in both dispatch systems and promised it
"clears BOTH stores" — but the both-stores composition landed only in the
exec_action handler. The tool-call path (the default for tool-capable
providers) called forgetMemoriesMatching alone, so a "removed" skill kept
living in user_economic_profile and kept driving offers/interview prompts:
the exact half-forgotten failure the fix was written to end, surviving on
the other dispatch path.

The tool-call branch now runs forgetMemoriesMatching AND
removeFromEconomicProfile in parallel (mirroring handlers/context.ts),
reports both result sets in the tool content, only lists a fact as notFound
when BOTH stores missed it, and counts profile-only removals as success
instead of no_results.

Deliberately touches only tool-executor.ts + a new test — no overlap with
the open #555 matcher rework (memory.ts / context.ts), which carries the
shared-matcher refactor blockers separately.

New suite pins the both-stores contract on this path: union reporting,
profile-only success, and both-missed no_results. 428 cat-area tests green.

Co-Authored-By: Claude Fable 5 noreply@anthropic.com

…th too

#545 registered forget_memories in both dispatch systems and promised it
"clears BOTH stores" — but the both-stores composition landed only in the
exec_action handler. The tool-call path (the default for tool-capable
providers) called forgetMemoriesMatching alone, so a "removed" skill kept
living in user_economic_profile and kept driving offers/interview prompts:
the exact half-forgotten failure the fix was written to end, surviving on
the other dispatch path.

The tool-call branch now runs forgetMemoriesMatching AND
removeFromEconomicProfile in parallel (mirroring handlers/context.ts),
reports both result sets in the tool content, only lists a fact as notFound
when BOTH stores missed it, and counts profile-only removals as success
instead of no_results.

Deliberately touches only tool-executor.ts + a new test — no overlap with
the open #555 matcher rework (memory.ts / context.ts), which carries the
shared-matcher refactor blockers separately.

New suite pins the both-stores contract on this path: union reporting,
profile-only success, and both-missed no_results. 428 cat-area tests green.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@catomean
catomean merged commit 7005b6d into main Aug 2, 2026
5 checks passed
@catomean
catomean deleted the fix/forget-tool-path-profile branch August 2, 2026 15:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant