Address PR bot review on Phase 2 checkpoint stores

main

Commit

Soph2mo ago
  • Fix local-settings checkpoints override (Cursor Bugbot, medium): the loader returned early if the BASE checkpoints block failed to decode, so a valid block in settings.local.json never got to override it — contradicting the documented "local replaces base wholesale" semantics. Reworked to extract the raw block from local-then-base and decode/validate only the block that wins, so a malformed block in the overridden file never blocks the winner. Added a regression test (valid local overrides invalid base).
  • Reuse jsonutil.WriteFileAtomic in fsstore.save instead of the hand-rolled temp+rename (Copilot): it uses a unique temp name, fsyncs, and cleans up the temp file on failure rather than leaving it behind.

Co-Authored-By: Claude Opus 4.8 (1M context) noreply@anthropic.com Entire-Checkpoint: 6ce520beb1cc

Checkpoints

Checkpoint Backend Registry and Settings-Driven Selection

Claude CodeOpus 4.8[1m]
View session
Checkpoint 1