Repository navigation
fix(build): treat stale worktree ownership records as unowned - #689
Merged
lastobelus merged 3 commits intoNov 11, 2026
Merged
Conversation
Treat structurally valid ownership records for a different checkout identity as unowned. Preserve malformed-record rejection, publication recovery guards, and unknown output collisions. Carry-Group: build-ci Carry-Observation: Stale native identities grant no output replacement or deletion authority; successful staged publication records fresh ownership.
Validate saved owner identity structure before treating a mismatch as unowned. Ignore stale observation-only review clocks without weakening protected review markers, and explain how to handle changed unowned output. Carry-Group: build-ci Carry-Observation: Compiler records that become legacy after identity changes must not create permanent review protection from observation-only clocks.
Describe ownership of the existing bytes accurately when output was edited after emission. Carry-Group: build-ci
lastobelus
marked this pull request as ready for review
November 10, 2026 23:10
Codex Review Summary: ✅ CompletedThis 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. |
Owner
Author
|
@codex review |
|
Codex Review: Didn't find any major issues. Already looking forward to the next diff. Reviewed commit: ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
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". |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Builds could fail before compilation when a saved build record's worktree identity no longer matched the checkout. A device number changing across a reboot is enough to trigger it, and the build then stayed blocked until someone cleared the record by hand.
Fix
In
packages/shared/src/generatedBuildOwnership.ts, a well-formed saved record whose worktree identity (device, inode, birthtime or path) doesn't match the current checkout is now read as unowned. The build no longer fails on it. The next successful stage publication writes a fresh record over it.What stays protected
Validation
check:changedpassed (100 tests).Local review: 2 rounds with gpt-6.1-terra (xhigh) and Claude Opus 5.5 (high), approved. No open blocker or should findings.
Carry-Group: build-ci
Implemented with Codex gpt-6.1-sol (xhigh) in T3 Code through the Codex harness.