Skip to content

fix(store): isolate checkpoint file ownership - #2342

Merged
DeliciousBuding merged 2 commits into
masterfrom
fix/checkpoint-ownership
Sep 6, 2026
Merged

DeliciousBuding merged 2 commits into
masterfrom
fix/checkpoint-ownership

Conversation

@DeliciousBuding

@DeliciousBuding DeliciousBuding commented Sep 6, 2026 •

Copy link
Copy Markdown
Collaborator

Summary

  • Detach checkpoint file lists at both write ownership boundaries so callers cannot change saved pre-run evidence through an input or returned slice.
  • Cover all three real store backends, File/SQLite close-reopen durability, nil/empty writer results, and the actual checkpoint-file preview handler (including checkpoint replacement).
  • Keep read/snapshot behavior, metadata, file ordering, missing-run errors, persistence policy, authorization and restore behavior unchanged. Four production lines added; no new API or storage abstraction.

Closes #2341.

Verification

Confirmed red baseline on production base b091863506538543203344be8f5bc7aae41cbcc3; green/final local evidence on 21745169df7f56b14a8583877deaa1bb3f5a624c.

Passed:

  • Complete store/API tests on Windows.
  • Complete store/API Linux race tests.
  • Existing store/API/lifecycle checkpoint tests, including event-before-start and no-workdir absence.
  • vet, staticcheck, diff whitespace checks.

All seven required CI checks passed under strict branch protection. CI run 34029282680 completed successfully, including real PostgreSQL/Redis integration and fixture backend E2E. Frontend/native/real-E2E lanes were skipped by path/dispatch rules and are not claimed as tested.

Not run or claimed: live/real-model E2E, packaged Desktop, remote source sync, rebuild, restart or runtime deployment. Existing public architecture/API documentation remains accurate; no contract documentation change is required.

DeliciousBuding and others added 2 commits September 6, 2026 18:56
Refs #2341. Capture writer-side aliasing across real backends, durable reopen and the checkpoint preview handler before changing production code.

Co-authored-by: Codex <codex@vectorcontrol.tech>
Refs #2341. Preserve saved pre-run evidence when writers reuse their input or result. Keep metadata, nil/empty writer results, read behavior and persistence policy unchanged.

Co-authored-by: Codex <codex@vectorcontrol.tech>
@coderabbitai

coderabbitai Bot commented Sep 6, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on this repository. Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Team

Run ID: 200185d9-9c0b-4265-b293-85e095ab2aa8

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@DeliciousBuding
DeliciousBuding merged commit 49078e7 into master Sep 6, 2026
41 checks passed
@DeliciousBuding
DeliciousBuding deleted the fix/checkpoint-ownership branch September 6, 2026 11:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

fix(store): isolate checkpoint file lists at write boundaries

1 participant