Repository navigation
Retain Notes drafts until explicit guarded save - #28
Merged
Merged
Conversation
|
Important
This repository does not receive automatic reviews because it has fewer than 10 stars. ⚙️ Run configuration
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
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.
Leaving BeatEditor or editing a second clip previously cancelled its single 500 ms Notes timer and lost the unsaved text. Notes now stay separately per clip in the existing project session and reach canonical story memory only through explicit Save Notes.
The existing Notes command accepts an optional original
TimelineNotesInputand checks node, exact text and owned field revision inside its transaction, including ABA. Its optional response receipt belongs to that exact historical command, so lost acknowledgements retry the original ID/payload without duplicating a save or adopting a newer writer's revision. Dirty and later queued text remain intact; current saved conflicts are shown separately. An uncertain original retry remains available after a late lock. Agent/prompt reads use saved Notes, and existing screenplay review still requires explicit acceptance before replacement. No durable draft store, schema, embedding or model dependency is added.Exact product: c703ebb, tree ab5d64837792dc9379370a927a32486a6cc92f39. Base is integrated PR27 515b4b1; PR27's tree is unchanged.
Validation:
/workspace/scratch/timeline-notes-draft-custody-evidencefor parent delivery. These images contain manual screenplay; generated downstream impact is covered separately by the SQLite test.Proof limits: instrumented local browser/public-service qualification, not native runtime, uninstrumented release or real-model quality. Native renderer status is unavailable in the browser adapter. Unsaved drafts remain transient in an open project session; project-switch/hard-reload recovery stays deferred. Exact-source independent review accepted c703ebb/tree ab5d64837792dc9379370a927a32486a6cc92f39 with no remaining blocker. Independently passed 15 server Notes cases, 25 UI cases and 1 postcommit-failure case; verified 8 source/module hash pairs and all seven PNG hashes, and visually inspected three custody/status/conflict images. Report SHA256: ed1e13f07d8b79a4fd679f0c9954d6c057164272a3135f3233ec1fcdb8cd77f9.
No hosted workflow was started. The head uses [skip ci] under the owner's spending pause; required merge gates are unchanged and this remains a draft.