Find commitments the user made in the last two weeks and did not follow through on. A promises audit.
Find promises the user made in conversations (in Slack, in email, in messages) that start with phrases like "I'll send", "I will", "let me get back to you", "by Friday", "next week", "I'll follow up", and check whether there is evidence in subsequent memory of follow-through. Surface the gaps as a promises audit, with context for each and a draft action.
The shadow backlog most people carry. The user does not need to be reminded of every forgotten ping; they need the two or three that actually matter.
Call mcp__phantom-reflective__phantom_memory_search with query: "I will", days_back: 14, limit: 30. Then call it again with query: "let me" and merge. Then query: "follow up", and merge. Then query: "by Friday" and merge. The merge should deduplicate by episode id.
Success criteria: you have a pool of recent episodes that contain commitment language.
For each episode, read the detail and pull out phrases where the user was the one making the commitment, not receiving one. Common patterns:
Skip commitments that are clearly to yourself, to the agent, or to no one in particular ("I will make more coffee"). Skip commitments that the user has already negated ("I thought I'd send X but actually I'm not going to").
Success criteria: you have a list of 5-15 candidate commitments with the original context, who the promise was to (if known), and when it was made.
For each candidate, search memory again for follow-up evidence. The query is a short paraphrase of what was promised. Example: if the commitment was "I'll send Anna the revised doc by Friday", search for "send Anna doc" or "revised doc Anna" with days_back: 14.
Evidence of follow-through looks like:
If none of those are present and the commitment's stated deadline has passed or is about to pass, it is an open promise.
Success criteria: you have classified each candidate as "done", "open", or "unclear".
Pick the most important open promises. "Most important" means:
Skip low-stakes promises ("I'll check", "I'll think about it") unless they are the only ones open.
Render each as:
To Anna, committed Tuesday. You said you would send the revised pricing doc "by Friday." I do not see evidence in memory that it has been sent. Three days overdue. Want me to draft the followup?
Success criteria: under 400 words total, 3-5 open promises, each anchored to a specific memory episode, each ending with a concrete next-step offer.
For each open promise, offer to draft the followup message in the user's voice. Do not draft until the user says yes. When the user says yes, pull a few recent messages from memory that show the user's tone, then write the draft as a suggestion.
Success criteria: the user either says "yes draft those" or "no I've got it". Either is fine. Do not force the draft.