Repository navigation
Conversation
VD writer range check, VD reader clipping, vdtool usage errors, unique atomic temp files in jsonio, hash-verified restore, narrowed silhouette-fit annotation handling, tolerant Content Studio startup, and portable font/Blender lookup. Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
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: 01e33c0772
ℹ️ 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".
| handle = tempfile.NamedTemporaryFile("w", encoding="utf-8", newline="", dir=path.parent, | ||
| prefix=path.name + ".", suffix=".tmp", delete=False) |
There was a problem hiding this comment.
Preserve permissions when replacing JSON files
On POSIX systems, NamedTemporaryFile creates the temporary file with mode 0600, and os.replace transfers that mode to the destination. Consequently, every call now changes an existing group/world-readable JSON file (typically 0644 under the prior implementation) to owner-only, which can prevent another account or service from reading shared manifests and annotations. Apply the existing file's mode, or a mode derived from the process umask, to the temporary file before replacing the destination.
Useful? React with 👍 / 👎.
|
Director review (spritemotion-director). The PR is good apart from one regression that blocks merging. Blocking: the pose editor no longer uses the project's Blender 5.2 runtime. Non-blocking:
Checked by reading: VD range checks and boundary tests, clipped VD reads, vdtool usage errors, the studio status recovery, the silhouette-fit narrowed exception, and the font fallback all look correct. I did not run the suite on this branch. |
…erically; private temp files Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
|
spritemotion-director re-review of d409971: the blocker is fixed, and I recommend merging.
Note for whoever runs the checks: the shared venv imports Not covered by this re-review: a real headless Bake run through the pose editor. |
… scipy) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Closes #5, #6, #7, #8, #9, #10, #11, #12.
Checks: pytest (worktree code) passes, outfit-lab unittest 15/15, agents --check clean. Not run: Blender-side checks (none touched).
Note: #9 raises FileNotFoundError when the latest version was never archived and the file was edited (nothing to restore from).
🤖 Generated with Claude Code