lightcraft/docs
Brandon Thomas 104444edcb Persistence: a failed save fails the command (change kept in memory, queued, retried)
A command whose journal append fails now returns EngineError::NotSaved
("saved in memory but not written to disk: <reason>; LightCraft will retry")
instead of OK. The change stays applied and undoable, its ops stay queued and
are written by the next save (any command, or the frame loop with a 2 s
backoff). Queries and commands that change nothing are unaffected; a failed
compaction is reported in lastError, not as a failed command (and a failed
synchronous snapshot now backs off like a background one).

Session::unsaved(), library.info unsavedOps/unsavedError, ui.inspect unsaved;
the desktop UI toasts the failure and shows a warning on the top bar's cloud
icon until a save succeeds.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 02:26:49 -04:00
..
brand Licensing: MIT OR Apache-2.0 files, NOTICE, ArtCraft brand terms 2026-10-04 10:05:02 -04:00
images docs: README (MCP, CLI, export, status, contributing), AGENTS.md (asset enforcement, crash recovery, testing/perf), screenshots re-captured with Inter 2026-09-30 23:52:34 -04:00
showcase M1.4: crash-safe catalog persistence (op log + snapshot) 2026-09-30 23:40:40 -04:00
control-protocol.md Persistence: a failed save fails the command (change kept in memory, queued, retried) 2026-10-05 02:26:49 -04:00
gpu-pipeline.md M5.6c: one memory budget for caches, decode gate and GPU pool; peak RSS 1.9-2.3 GB -> 0.83-0.99 GB 2026-10-01 11:35:08 -04:00
mcp.md Persistence: a failed save fails the command (change kept in memory, queued, retried) 2026-10-05 02:26:49 -04:00
merge.md Merge main (Photo Merge); M1.14b: stack merge results with their sources 2026-10-01 11:00:51 -04:00
parity.md Persistence: a failed save fails the command (change kept in memory, queued, retried) 2026-10-05 02:26:49 -04:00
web.md Issue #30: Import Photos… as the clear import entry point 2026-10-04 11:44:15 -04:00
whats-new.md Persistence: a failed save fails the command (change kept in memory, queued, retried) 2026-10-05 02:26:49 -04:00
xmp-interop.md Merge main into feat/copyright-status 2026-10-04 15:26:53 -04:00