chore(settings): worktrees under ~/dev and a shared Linear cache - #76
Brad (bmethod) wants to merge 1 commit into
Conversation
`~/dev-data` is this workstation's bind-mount source for `~/dev` and exists nowhere else, so `worktree create` failed in a fleet sandbox. `~/dev/.worktrees/vsys` is the same directory here. `.cache` joins the worktree symlinks so every worktree reads the checkout's Linear cache instead of syncing the team from empty; a fleet lane starts from a seeded copy of it. https://claude.ai/code/session_011i1W3qipEUpW8Euhng3CUE
There was a problem hiding this comment.
🟢 Approval recommended
The settings align with existing worktree path handling and Linear cache safeguards.
Pull request overview
Makes worktree settings portable across workstation and fleet environments while sharing the seeded Linear cache.
Changes:
- Moves worktrees from
~/dev-datato~/dev. - Adds
.cacheto shared worktree symlinks.
File summaries
| File | Description |
|---|---|
kendex.settings.toml |
Updates worktree location and cache sharing. |
Review details
- Files reviewed: 1/1 changed files
- Comments generated: 0
- Review effort level: Balanced
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: 76dba9c0d7
ℹ️ 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 (@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 (@codex) address that feedback".
| # never in a linked worktree, whose install would write through the link. | ||
| # .gitignore's `node_modules/` pattern covers the symlink. | ||
| WORKTREE_SYMLINKS = ".env.local node_modules" | ||
| WORKTREE_SYMLINKS = ".env.local .cache node_modules" |
There was a problem hiding this comment.
Synchronize cache writers before sharing the cache
When concurrent fleet lanes operate in separate worktrees, this new .cache symlink makes them write the same Linear cache. Syncs serialize only through .sync.lock in .agents/skills/linear/scripts/lib/cache.sh:215-232, while issue and project write-through uses separate per-file locks; therefore a mutation committed after sync_issues() fetches its delta but before cache_merge() runs at .agents/skills/linear/scripts/commands/sync.sh:730-800 can be overwritten by the older delta. The sync then advances meta.json past that mutation, leaving subsequent cache reads with stale tracker state and potentially causing agents to act on an outdated issue or project; keep caches isolated or make sync and mutation writers share one serialization domain.
AGENTS.md reference: AGENTS.md:L35-L35
Useful? React with 👍 / 👎.
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. |
Fleet portability:
~/dev-dataexists only on the workstation (the bind-mount source of~/dev), soworktree createfailed in a Daytona lane;~/dev/.worktrees/vsysis the same directory here..cachejoins the worktree symlinks so a worktree reads the checkout's Linear cache instead of syncing from empty, and a fleet lane starts from a seeded copy.https://claude.ai/code/session_011i1W3qipEUpW8Euhng3CUE