Skip to content

test(notes): gate note persistence across versions - #6

Merged
yattdev merged 2 commits into
mainfrom
feature/the-notes-plugin-upd-jxc
Aug 30, 2026
Merged

test(notes): gate note persistence across versions#6
yattdev merged 2 commits into
mainfrom
feature/the-notes-plugin-upd-jxc

Conversation

@yattdev

@yattdev yattdev commented Aug 28, 2026

Copy link
Copy Markdown
Owner

$## Overview\n\nAdd hard compatibility gates for Notes persistence across published plugin versions and document the safe upgrade path.\n\n## Review first\n\n1. ui/persistence-compat.test.mjs — loads every released Notes bundle and verifies byte-exact task/workspace note preservation in upgrade and downgrade directions, permanent namespace coordinates, and zero deletes.\n2. integration/host_upgrade_preserves_user_state_test.go with scripts/test-host-upgrade-state.sh — overlays a focused test into Kandev’s real Service.Install package, proving both newer and older replacements do not call the user-state cleanup seam.\n3. server/manifest_test.go, CI/release workflow fetch-depth: 0, and the README lifecycle guidance — keep the contract and released history available to the gates.\n\n## Changes\n\n- add a UI persistence compatibility suite that replays every published Notes tag against the current bundle in both upgrade and downgrade directions\n- add a host lifecycle contract test plus runner script to assert version replacement never purges plugin user state\n- pin the released plugin id and user_state capability in server tests, wire the new checks into make test, and fetch full tag history in CI/release workflows\n- document in-place update/downgrade versus destructive uninstall/reinstall semantics in the README and annotate the manifest persistence contract\n\n## Verification\n\n- CI: 3 successful checks on 3e2e0aaebcbb94e334cc2cc0ced0b5717ff65eca\n- make test in a disposable sibling-host layout: server suite, 108 Node tests, and the real host lifecycle overlay contract\n- go vet ./server/..., formatting/diff checks, and make package-host; the packaged manifest retains id: "kandev-plugin-notes" and user_state: true\n- current-head focused historical matrix: node --test ui/persistence-compat.test.mjs (10/10)\n\n## Breaking Changes\n\nNone. Version replacement is safe; explicit uninstall/reinstall remains intentionally destructive.

@yattdev
yattdev marked this pull request as ready for review August 30, 2026 07:01
@yattdev
yattdev marked this pull request as draft August 30, 2026 12:55
@yattdev
yattdev marked this pull request as ready for review August 30, 2026 21:34
@yattdev
yattdev merged commit 97fb1d5 into main Aug 30, 2026
3 checks passed
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.

2 participants