Files
ai-workflow-skill/docs/tests/repo-memory/add/add-updates-existing-entry-on-same-kind-and-key.md
T

1.2 KiB

Case: add-updates-existing-entry-on-same-kind-and-key

用例意义

验证同一 repo 下相同 kind + key + scope 再次执行 add 时会更新既有 entry,而不是生成重复记录。

前置条件

  • TMPDIR/repo 是一个已提交初始 commit 的 Git 仓库
  • 空数据库已完成 init
  • 已执行过一次:
repo-memory add --db TMPDIR/repo-memory.db --repo TMPDIR/repo --kind term --key AITask --summary "初版摘要" --status draft

输入

repo-memory add --db TMPDIR/repo-memory.db --repo TMPDIR/repo --kind term --key AITask --summary "修订后的摘要" --status confirmed --alias "AI Task"
repo-memory events --db TMPDIR/repo-memory.db --id 1
repo-memory list --db TMPDIR/repo-memory.db --repo repo --kind term

预期输出

  • 第二次 add 仍输出 upserted entry 1 (term:AITask)
  • events 中同时包含 updated (draft -> confirmed) 与更早的 created (- -> draft)
  • list 中该 entry 的摘要为 修订后的摘要

断言结论

  • add 的核心语义是 upsert,而不是 append-only create
  • 更新会保留同一 entry id,同时追加历史事件
  • 最新摘要、状态、别名会覆盖旧值而不是与旧值并存