Retire the Chronicle Notes folder sync; set the old folder aside - #135
Merged
Merged
Conversation
The player notebook replaced the note sync that copied notes into a "Chronicle Notes" journal folder. On the GM's world load, every note copy is now unlinked and marked as an old note, and the folder tree moves into "Chronicle: removed" when Foundry's folder depth allows. Nothing is deleted, and running it again writes nothing. JournalSync keeps skipping all of it through a pure helper, so nothing in the old folder becomes a Chronicle page. Removes NoteSync, its "Sync Notes" setting, the dashboard's Notes tab and Notes direction row, and the unused note API helpers. Fixes #124 Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BBSXLMRV7e3xvdqWbfELg7
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01BBSXLMRV7e3xvdqWbfELg7
…a4r53 # Conflicts: # TESTING.md
keyxmakerx
marked this pull request as ready for review
October 3, 2026 17:02
…a4r53 # Conflicts: # .ai.md # CLAUDE.md # scripts/module.mjs
…a4r53 # Conflicts: # .ai.md # CLAUDE.md
7 of 9 tasks
keyxmakerx
pushed a commit
that referenced
this pull request
Oct 3, 2026
…up's edits Keeps module PR #134 merging cleanly whether it lands before or after the notes changes in #135. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_011hzkeAmSZQx5cQw5QL3ngM
5 of 6 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fixes #124
Security implication: none new. This removes a sync path that wrote to Chronicle with the GM's key, and makes no new requests.
Consumer-verified: n/a. Nothing on the wire is added; the module stops calling
/notes.Foundry compatibility: v12–v14. Uses
CONST.FOLDER_MAX_DEPTH,journal.updateandfolder.updateonly.Mockup: the signed player-notebook mockup (Sign-offs card
mock-player-notebook, "Replace": the old folder is set aside, never deleted). The differences listed below wait on the Sign-offs carddiff-notes-folder.What this changes
Before: a GM who had turned on "Sync Notes" got a "Chronicle Notes" journal folder. It held copies of the notes the GM's key could see. Players' notes never reached Chronicle from there.
After: the player notebook replaces that folder (Chronicle #979, module #126). When the GM loads the world, every note copy is unlinked and marked as an old note, and the folder moves into "Chronicle: removed", the same place every other set-aside journal goes. Nothing is deleted. If the folder tree is nested too deep for Foundry to move it there, it stays where it is, unlinked. The step runs on every load, and on a world that is already done, or never had the folder, it writes nothing.
JournalSync keeps skipping everything in the old folder, plus any marked note the GM moved out of it. So an edit or a new journal there never becomes a Chronicle page. That check used to ask the registered NoteSync; it now lives in a pure helper,
isOldNotesJournal.Also removed, because nothing uses them any more:
note-sync.mjsand_note-event.mjs;Why
Key Maker chose "Replace" on the player-notebook mockup, and the rules for this were agreed on #124:
The load-bearing lines:
scripts/_notes-folder.mjs:retireNotesFolderandisOldNotesJournal.scripts/module.mjs: the GM-only call, made beforesyncManager.start().scripts/journal-sync.mjs: the three exclusion sites now callisOldNotesJournal.Visible differences from the mockup
These are on the Sign-offs card, and this PR waits on it:
Test plan
node --test tools/test-*.mjs: 1004 pass, 0 fail. The newtools/test-notes-folder.mjshas 7 tests: unlink and move, idempotent rerun, a world with no old notes makes no writes, a too-deep tree stays put, a folder the GM filed elsewhere stays put, the exclusion, and the flag strip.node tools/check-package-descriptor.mjspasses.CHRONICLE_DIR=../Chronicle bench/run.sh notes journals: 13 pass, 0 fail, against Chronicle main at 36f75948. The new scenario, "a world with the old Chronicle Notes folder opens and reopens with no duplicates and no Chronicle writes", checks five things:With the exclusion switched off, it fails on "edits in the old folder stay in Foundry".
Tenet self-check
.ai.md,API-CONTRACT.md,CALENDARIA-INTEGRATION.md,TESTING.mdandCLAUDE.mdnow describe the notes folder as set aside.Generated by Claude Code