Skip to content

✨ WP2: update-integrity benchmark — supersession scenario suite - #9

Merged
Wuesteon merged 4 commits into
mainfrom
worktree-wp2-update-integrity
Jul 29, 2026
Merged

✨ WP2: update-integrity benchmark — supersession scenario suite#9
Wuesteon merged 4 commits into
mainfrom
worktree-wp2-update-integrity

Conversation

@Wuesteon

Copy link
Copy Markdown
Owner

Summary

Executes the WP2 packet (lane B, ungated): a small, honest, reproducible test of the core claim — when a fact changes, the engine returns the current truth and keeps the old one queryable.

  • bench/update_integrity.py: ten scripted scenarios through the public API only (Memory.addMemory.search) — employer change, identity change (mem0#4896's class of case), city move, preference flip, additive "also" EXTENDS, replacement-after-additive retire-all, multi-valued preservation, as-of-before-everything, restart persistence, verbatim-restatement no-dup (WP11 pin). Per scenario: top-1 is the new fact, superseded fact has is_latest=False + superseded_by, as_of=<t before update> returns the old fact.
  • --markdown renders the results table from a single command (26/26 assertions PASS, exit 0); table pasted into the new appendix in docs/competitive-landscape.md.
  • Same scenarios pinned offline as tests/test_update_integrity_scenarios.py (bench-import via the test_phase2_* sys.path precedent; excluded from the sdist like its peers).
  • Optional mem0 comparison arm is designed in the plan but deliberately not implemented (opt-in per packet).
  • Zero src/ changes (git diff --stat main -- src/ is empty).

Test plan

  • Core suite 301 passed (289 + 12 new); console suite 153 passed.
  • PYTHONPATH=src .venv/bin/python bench/update_integrity.py --markdown → ALL PASS, exit 0.

🤖 Generated with Claude Code

https://claude.ai/code/session_01YRU73aDWiYUqgaL5UETUMp

@Wuesteon
Wuesteon merged commit c803e54 into main Jul 29, 2026
6 checks passed
@Wuesteon
Wuesteon deleted the worktree-wp2-update-integrity branch July 29, 2026 06:32
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