
jiantw83andClaude Opus 5
1d5b049152
fix(consolidate): --forget 套上短期記憶的保護;長期記憶撞名不再靜默覆蓋
兩個資料遺失路徑:
① `--forget N` 無條件刪掉 salience < N 的全部短期記憶,完全不套 shortTermProtected()
(salience ≥ 80/intent=commit/24 小時內)。prune 有這層保護,這裡沒有。
實測 `--forget 200` 把一筆 intent=commit、salience 95、剛寫入的承諾一起刪掉,
而 R4 明文寫「不可遺忘」。改走新的 forgetShortTerm(),跟 prune 同一層保護,
並回報「有幾筆低於門檻但受保護、沒有刪」。
② slugify() 把標點吃掉:「我的貓」「我的貓?」「我的貓!!」全都落在 `我的貓.md`,
writeText 直接覆蓋,只保留舊檔的 first_seen/recall_count,內文靜默被換掉。
front matter 新增 `title:`(原本的 --name),撞名時 die 並給一個沒被占用的檔名
(`--name 我的貓-2`);真的要覆蓋同一則就加 --force。
selftest +11:--forget 不刪承諾/界線/今天的紀錄但該刪的照刪、撞名被擋、
舊內文原封不動、訊息給得出替代檔名、同名再寫是更新、title 有寫入、--force 仍可覆蓋。
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-07-31 09:23:35 +00:00
..
2026-07-31 05:20:57 +00:00
2026-07-30 03:43:45 +00:00
2026-07-31 09:23:35 +00:00
2026-07-31 09:23:35 +00:00
2026-07-30 03:43:45 +00:00
2026-07-31 09:23:35 +00:00