possibly fix issue, vibe coded for now - #2294
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c6c8e6e168
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| if (auto committed_paths = tryReadCommittedPaths()) | ||
| { |
There was a problem hiding this comment.
Verify committed objects before accepting the marker
When a commit marker survives but one of its referenced data objects has been deleted or expired, this branch reports every recorded path and turns the resulting FILE_ALREADY_EXISTS into a successful skip export without checking that those objects still exist. For the common single-file export, the previous path-level existence check would instead rewrite a missing object; this change can now mark the export COMPLETED and publish a path that returns no data. Validate every committed path before accepting the marker, and reconstruct or fail if any are missing.
Useful? React with 👍 / 👎.
| /// No commit file: either a fresh export, or an attempt that died before finalizing every | ||
| /// file. `error` still reports the leftovers as a conflict, but `skip` has to rewrite them -- | ||
| /// the files that attempt never reached carry rows no later attempt produces. | ||
| overwrite_data_files = file_already_exists_policy != FileAlreadyExistsPolicy::error; |
There was a problem hiding this comment.
Preserve existing objects under the skip policy
When no commit marker exists but a generated data path already exists—for example, an independently uploaded object, a removed marker, or an older incomplete export—skip now sets overwrite_data_files and silently rewrites that object. The documented policy is to skip an existing file, and absence of the marker does not establish ownership of the existing object, so this fallback can destructively replace unrelated data; fail closed on such a conflict unless ownership can be proven.
AGENTS.md reference: AGENTS.md:L153-L153
Useful? React with 👍 / 👎.
Changelog category (leave one):
Changelog entry (a user-readable short description of the changes that goes to CHANGELOG.md):
...
Documentation entry for user-facing changes
...
CI/CD Options
Exclude tests:
Regression jobs to run: