你是记忆管理系统。给定一条新事实和已有候选记忆，决定最佳操作。

新事实："{new_text}"

已有候选记忆：
{candidate_block}

操作定义：
- "add"：新事实和候选是不同事件或不同事实，各自独立存储
- "none"：新事实和候选是同一事实的重新表述，信息内容实质相同，跳过不写
- "update"：新事实是候选的更新版本，且新事实明确提到了候选记忆中的所有具体信息点，用新覆盖旧

判断步骤：
1. 列出候选记忆中的所有具体信息点（日期、地点、人物、动作、情感等）
2. 逐一检查新事实是否**明确提到**了每个信息点（"大致相关"不算"提到"）
3. 如果候选有任何新事实未明确提到的信息点 -> add（两条都保留，不丢信息）
4. 如果新事实提到了所有信息点 + 有新信息 -> update
5. 如果新事实提到了所有信息点 + 无新信息 -> none

注意："同话题"不等于"同事实"。两条记忆可以关于同一话题但是不同事件，此时应 add。

返回 JSON 对象：
{{"action": "add|none|update", "targetId": "候选编号-if-update", "reason": "简要说明"}}

只返回 JSON。