lightcraft/docs
Brandon Thomas 08c2acda26 Issue #101: catalog.log: cut a partial append back before retrying
A failed append (disk full, dropped share) could leave part of its batch in
catalog.log; the retry (same seqs) then shared a line with the fragment and
the next load treated it as mid-log damage, setting later edits aside.

- Journal::append cuts the log back to the last whole record on error (or,
  if that fails too, before the next append).
- FsStore drops a failed append handle so the next attempt reopens the file;
  truncate of a never-created file is a no-op.
- The loader recognises a CRC-valid record glued after a fragment (logs
  written by older builds) and skips only the fragment.
- log_bytes now counts the newline added to an unterminated last record.
- close_library writes the closing snapshot even when appending fails; the
  snapshot absorbs the queued ops (Journal::snapshot_with_unlogged).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-05 18:13:00 -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 Issue #78: GPU export: respect device limits, fall back to CPU on GPU errors 2026-10-05 05:06:24 -04:00
gpu-pipeline.md Issue #78: GPU export: respect device limits, fall back to CPU on GPU errors 2026-10-05 05:06:24 -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 Issue #101: catalog.log: cut a partial append back before retrying 2026-10-05 18:13:00 -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 Issue #101: catalog.log: cut a partial append back before retrying 2026-10-05 18:13:00 -04:00
xmp-interop.md Merge main into feat/copyright-status 2026-10-04 15:26:53 -04:00