[XY-199] Complete retained lane worktree cutover#33
Conversation
…"rename retained lanes to worktrees and adopt linked git worktree semantics","intent":"finish the retained-lane cutover in one pass so naming and backend behavior match","impact":"maestro now exposes only worktree-rooted lanes and validates linked git worktree boundaries end-to-end","breaking":false,"risk":"medium","authority":"linear","delivery_mode":"status-only","refs":[{"system":"linear","id":"XY-199","role":"authority"}]}
…lib module docs to satisfy rust style CI","intent":"clear the Linux Rust checks failure triggered by vstyle on the PR merge head","impact":"the PR no longer uses outer doc comments on public mod declarations in src/lib.rs","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[{"system":"linear","id":"XY-199","role":"authority"}]}
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 59041fbe6a
ℹ️ 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".
…linked worktree boundary validation for linked repo roots","intent":"accept child worktrees when repo_root itself is a linked worktree","impact":"maestro now validates child worktrees against the source repository common git dir instead of the repo_root .git pointer file","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[{"system":"linear","id":"XY-199","role":"authority"}]}
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: c90ef6fca0
ℹ️ 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".
…linked worktree origin normalization and legacy path validation","intent":"keep repaired worktree lanes pushable and preserve tracker path-leak guards during mixed-version comments","impact":"maestro now rewrites relative origin remotes to absolute paths for linked worktree use and validates legacy workspace_path tracker fields alongside worktree_path","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[{"system":"linear","id":"XY-199","role":"authority"}]}
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f6204c35f7
ℹ️ 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".
…en worktree remote normalization cleanup","intent":"keep linked worktree bootstrap safe for home-relative and broken filesystem remotes","impact":"tilde remotes bypass repo-relative canonicalization and failed normalization removes the new linked worktree","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[{"system":"linear","id":"XY-199","role":"authority"},{"system":"github","repo":"hack-ink/maestro","number":33,"role":"mirror"}]}
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: ec1ae00dc6
ℹ️ 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".
…alize relative origin when reusing worktrees","intent":"keep retained linked worktrees able to fetch and push with repo-relative remotes","impact":"reused worktree lanes now refresh origin normalization before returning so retained lanes keep working with relative filesystem remotes","breaking":false,"risk":"low","authority":"linear","delivery_mode":"status-only","refs":[{"system":"linear","id":"XY-199","role":"authority"},{"system":"github","repo":"hack-ink/maestro","number":33,"role":"mirror"}]}
|
@codex review |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 67d3499185
ℹ️ 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".
| let setup_result = normalize_origin_remote_for_worktrees(&self.repo_root).and_then(|_| { | ||
| self.checkout_worktree_branch(&spec.path, spec.branch_name.as_str(), &source_head) | ||
| }); |
There was a problem hiding this comment.
Propagate repo-local identity config into created worktrees
After switching from clone-backed lanes to linked worktrees, new lane setup no longer copies resolved repo-local Git config (including values coming from includeIf), and this path only normalizes origin then checks out the branch. In repositories that rely on repo-scoped identity via conditional includes, commits in the new worktree can pick up the wrong global identity (or lack required signing/email settings), which can break review handoff or produce incorrect authorship. The previous workspace flow explicitly copied these local config entries, so this is a regression in lane bootstrap behavior.
Useful? React with 👍 / 👎.
There was a problem hiding this comment.
I don't think this one is actionable on the current head. Linked worktrees read the shared repo-local config through the common git dir, and this branch already has direct regression coverage for both plain repo-local values and included config: linked_worktree_inherits_repo_local_identity_config and linked_worktree_inherits_repo_local_identity_from_included_config in src/worktree.rs. I re-ran both on 67d3499 and they passed, including the include.path case that checks user.name, user.email, codex.github-identity, and codex.linear-workspace from the created worktree. I’m leaving the thread open for now in case there’s a more specific reproduction that differs from those covered cases.
|
Delivery closeout complete.
|
What changed
workspace*toworktree*.git/worktrees/*Why
.worktrees/surface while leaving internalworkspacenaming and clone-backed behavior behindImpact
.workspacescompatibility is removed from the Maestro surfaceoriginremotes continue to workValidation
cargo run -- --helpcargo make fmt-checkcargo make lintcargo make testgit diff --checkReview status
21f32019d95a72a3678dcd064ad784e436cf0457{ "status": "no_findings", "head_sha": "21f32019d95a72a3678dcd064ad784e436cf0457", "evidence": ["cargo run -- --help (exit 0)", "cargo make fmt-check (exit 0)", "cargo make lint (exit 0)", "cargo make test (exit 0)", "git diff --check HEAD^..HEAD (exit 0)"] }