Opening a topic or Core source record displays rendered Markdown. Edit switches to source text. Edits are persisted locally immediately and sent through a serialized file writer immediately. Git history checkpoints group manual edits into five-minute intervals.
Rendered memory content, with existing footnotes and links.
Newest first, with local date and time, commit message, and a selectable revision. Load older entries on demand. Select a revision to see added and removed lines relative to its parent.
− Previous paragraph
+ Updated paragraph
Select a revision and choose Restore this version to restore that document. Restoring records the current state first and creates a new commit; existing history is retained. Keyboard undo and redo remain available across automatic saves. A server-owned task checks durable pending deadlines every 15 seconds; edits are checkpointed after five minutes even if the page closes. Restarts resume pending deadlines.
The editor defaults to source and requires Save. Staged writes already validate references, rebuild derived views and commit Git history; history is not exposed. Preserve that transaction and Markdown rendering.
| Reference | Adopted behavior | Boundary |
|---|---|---|
| HackMD versions | Version list and visible differences | No collaborative editing or named versions |
| Obsidian history | Automatic persistence and accessible history | Local Git; no sync service |
Owner-authorized Memory endpoints read bounded Git history restricted to topic Markdown. Compare submitted base content under the existing write lock to reject stale edits. Return canonical saved text because normalization may alter source. Show only errors and Git warnings inline; no saving or saved indicators. Preserve drafts locally across navigation and reload; serialize saves per file. Never mark newer typing as saved by an older response.
Topics and Core open in preview; no Save button. Typing automatically persists, survives switching files, and creates a visible Git entry. Undo reverses individual edits; History restores a chosen version. History supports older pages and parent diffs. Rejected/conflicting saves preserve drafts and show an error. Path and revision inputs cannot escape Memory. Existing source validation and rendering remain intact.
Archive hides a session without expiry or capacity deletion. Deleted original sessions have unavailable links, labelled Original session deleted; no additional source copy is made for deletion. Existing Memory source storage is checked before exposing content. Memory navigation and refresh controls reuse the primary sidebar row and icon-button styles.
Implemented and independently reviewed. Route tests cover deferred Git commits, restoration and deleted-source access; controller tests cover serialized writes and undo/redo. Archive tests cover retention across restart. Full checks and default-App visual verification are release gates.