Skip to content

make upgrade - #1371

Merged
shunkakinoki merged 15 commits into
mainfrom
make-upgrade
Apr 5, 2026
Merged

make upgrade#1371
shunkakinoki merged 15 commits into
mainfrom
make-upgrade

Conversation

@shunkakinoki

@shunkakinoki shunkakinoki commented Apr 5, 2026

Copy link
Copy Markdown
Owner
  • refactor: reorganize Makefile targets and add nix-daemon-upgrade
  • refactor: reorganize test and development targets in Makefile
  • refactor: consolidate update target and sync commands in Makefile
  • refactor: remove redundant target from upgrade command in Makefile
  • refactor: rename upgrade targets in Makefile for consistency
  • refactor: rename update and upgrade targets in Makefile for clarity
  • refactor: add upgrade-dev target for Nix dev shell upgrades

Summary by cubic

Standardized Makefile targets and streamlined the upgrade flow. make upgrade now runs sync then update, adds a bun-update target, improves macOS Nix daemon checks, and bumps JS deps.

  • Refactors

    • sync includes dotagents-sync, codex-security-sync, rtk-rewrite-sync. update runs nix-update, overlays-update, neovim-update, llm-update, gitalias-update; bun-update is available separately.
    • Renamed targets for consistency (nix-flake-update, overlays-update, neovim-update, llm-update, gitalias-update); neovim-sync depends on neovim-update; added devenv-cli; renamed launchctl agent to brew-updater.
    • nix-update now runs nix-connect + nix-daemon-update + nix-flake-update; macOS nix-connect skips restarts when reachable and supports Determinate/NixOS plists.
    • CI: checkout submodules in upgrade.yml; tmux-bridge.sh adds shellcheck-disable hints; updated package.json and regenerated bun.lock.
  • Migration

    • Use the new *-update target names; old *-upgrade targets are replaced.
    • Use make upgrade-dev when upgrading inside the Nix dev shell.
    • update-local-binaries was removed; run ./scripts/update-local-binaries.sh directly if needed.

Written for commit 826ea30. Summary will update on new commits.

Copilot AI review requested due to automatic review settings April 5, 2026 11:46
@mesa-dot-dev

mesa-dot-dev Bot commented Apr 5, 2026

Copy link
Copy Markdown

You do not have enough credits to review this pull request. Please purchase more credits to continue.

@coderabbitai

coderabbitai Bot commented Apr 5, 2026

Copy link
Copy Markdown
📝 Walkthrough

Walkthrough

The PR reorganizes Makefile targets: renaming several *-upgrade → *-update, adding dev-related targets (nix-develop, dev, devenv-cli), introducing sync/update metas, adding nix-daemon-update and conditional nix-connect logic, and reintroducing dotagents-sync. It also adds three ShellCheck suppression comments to tmux-bridge.sh.

Changes

Cohort / File(s) Summary
Makefile — target rename & reorg
Makefile
Renamed upgrade targets to update variants (nix-upgradenix-update, neovim-upgradeneovim-update, overlays-upgradeoverlays-update, nix-flake-upgradenix-flake-update); replaced llm-upgrade/gitalias-upgrade with llm-update/gitalias-update; added .PHONY: uptate typo.
Makefile — meta targets & sync/update flow
Makefile
Added sync meta-target aggregating dotagents-sync codex-security-sync rtk-rewrite-sync; introduced update meta-target depending on nix-update overlays-update neovim-update llm-update gitalias-update; changed upgrade to depend on sync update.
Makefile — dev workflow & nix daemon handling
Makefile
Added nix-develop, dev (alias), and devenv-cli targets; added nix-daemon-update; changed nix-connect to check nix store info before bootstrapping Determinate Nix via candidate launchd plist paths; adjusted launchctl plist/name from home.brew-upgraderhome.brew-updater.
Neovim-related sync changes
Makefile
Renamed neovim-upgradeneovim-update; made neovim-sync depend on neovim-update and moved init.lua sourcing into neovim-sync.
Shell script — ShellCheck suppressions
home-manager/modules/local-scripts/tmux-bridge.sh
Added three # shellcheck disable=SC2016 comments to suppress SC2016 warnings in cmd_message, cmd_id, and cmd_doctor (no runtime logic changes).

Estimated code review effort

🎯 3 (Moderate) | ⏱️ ~25 minutes

Possibly related PRs

  • #1324 — Modifies scripts/update-local-binaries.sh, closely related to this PR's removal/restructure of the previous local-binaries update workflow.
  • #370 — Adds or depends on dev-shell targets; related to the new nix-develop / dev targets introduced here.
  • #770 — Adjusts Makefile Neovim upgrade/sync flow; directly related to the neovim-upgradeneovim-update and neovim-sync changes.

Poem

🐇 I hopped through Makefile lines tonight,
renamed upgrades to updates — tidy and bright,
spawned a dev shell, a daemon check, a sync anew,
tiny shellcheck whispers fixed with a chew.
Hooray — a carrot for CI and you! 🥕✨

🚥 Pre-merge checks | ✅ 1 | ❌ 2

❌ Failed checks (1 warning, 1 inconclusive)

Check name Status Explanation Resolution
Docstring Coverage ⚠️ Warning Docstring coverage is 0.00% which is insufficient. The required threshold is 80.00%. Write docstrings for the functions missing them to satisfy the coverage threshold.
Title check ❓ Inconclusive The title 'make upgrade' is vague and generic, using a command format that doesn't convey meaningful information about the substantial refactoring and target reorganization changes. Use a more descriptive title that highlights the main change, such as 'Refactor Makefile targets and standardize upgrade/update workflow' or 'Consolidate Makefile sync and update targets'.
✅ Passed checks (1 passed)
Check name Status Explanation
Description check ✅ Passed The PR description directly addresses the changeset with multiple refactoring bullet points and a detailed summary covering Makefile reorganization, target renaming, and workflow consolidation.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
📝 Generate docstrings
  • Create stacked PR
  • Commit on current branch
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch make-upgrade

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

@mesa-dot-dev

mesa-dot-dev Bot commented Apr 5, 2026

Copy link
Copy Markdown

Mesa Description

TL;DR

Standardized Makefile targets, streamlined the upgrade flow to include sync, update (with bun and various Nix updates), improved macOS Nix daemon checks, and updated JavaScript dependencies.

What changed?

  • Makefile: Refactored to rename *-upgrade targets to *-update, consolidated update and sync commands into new top-level update and sync targets, and simplified the main upgrade target. Enhanced nix-connect for macOS with better Nix daemon checks and launchd bootstrapping, and reordered targets for logical grouping.
  • home-manager/modules/local-scripts/tmux-bridge.sh: Added shellcheck disable=SC2016 directives to cmd_message, cmd_id, and cmd_doctor functions to suppress warnings for intentionally literal variables in single-quoted strings.
  • .github/workflows/upgrade.yml: Updated the GitHub Actions upgrade workflow to explicitly checkout submodules, ensuring all required components are available during CI runs.
  • package.json: Bumped numerous dependency versions, including @anthropic-ai/claude-code, @augmentcode/auggie, @biomejs/biome, @openai/codex, oxlint, and turbo.

Description generated by Mesa. Update settings

@gemini-code-assist gemini-code-assist Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request refactors the Makefile to reorganize targets into logical groups and renames several upgrade targets to update. It also adds support for the Determinate Nix daemon and introduces new development targets like nix-develop and devenv-cli. Key issues identified include a missing sync target that causes the upgrade command to fail, a typo in the .PHONY declaration for update, and outdated help documentation for the nix-update target.

Comment thread Makefile

.PHONY: upgrade
upgrade: nix-upgrade overlays-upgrade neovim-upgrade llm-upgrade gitalias-upgrade codex-security-sync rtk-rewrite-sync ## Upgrade Nix flake, overlays, Neovim plugins, LLM configs, and gitalias
upgrade: sync update

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

critical

The upgrade target now depends on a sync target, but sync is not defined anywhere in the Makefile. This will cause make upgrade to fail with an error: make: *** No rule to make target 'sync'. Stop.

You should define a sync target that aggregates the individual sync commands (e.g., dotagents-sync, codex-security-sync, rtk-rewrite-sync).

Comment thread Makefile Outdated

.PHONY: dev
dev: nix-develop ## Enter the Nix dev shell (alias for nix-develop).
.PHONY: uptate

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

There is a typo in the .PHONY declaration: uptate should be update.

.PHONY: update

Comment thread Makefile
@@ -319,8 +321,8 @@ nix-install: ## Install Nix if not already installed.

##@ Nix

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The help comment for nix-update is outdated. It still mentions "build, and switch", but the target now only performs nix-daemon-update and nix-flake-update. Additionally, note that nix-update no longer triggers a system switch, which is a significant change from the previous nix-upgrade behavior.

nix-update: nix-daemon-update nix-flake-update ## Update Nix daemon and flake lock file.

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

3 issues found across 1 file

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="Makefile">

<violation number="1" location="Makefile:213">
P1: The `upgrade` target depends on a `sync` rule that is not defined in this Makefile, so `make upgrade` can fail immediately.</violation>

<violation number="2" location="Makefile:240">
P2: Typo in `.PHONY` (`uptate`) leaves `update` non-phony and can break `make update` behavior.</violation>

<violation number="3" location="Makefile:323">
P3: The help comment is stale — it still says "build, and switch" but `nix-update` now only runs `nix-daemon-update` and `nix-flake-update` (no build or switch step).</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread Makefile
Comment thread Makefile Outdated
Comment thread Makefile Outdated
.PHONY: nix-upgrade
nix-upgrade: nix-flake-upgrade nix-build nix-switch ## Upgrade Nix flake, build, and switch.
.PHONY: nix-update
nix-update: nix-daemon-update nix-flake-update ## Upgrade Nix flake, build, and switch.

@cubic-dev-ai cubic-dev-ai Bot Apr 5, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P3: The help comment is stale — it still says "build, and switch" but nix-update now only runs nix-daemon-update and nix-flake-update (no build or switch step).

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At Makefile, line 323:

<comment>The help comment is stale — it still says "build, and switch" but `nix-update` now only runs `nix-daemon-update` and `nix-flake-update` (no build or switch step).</comment>

<file context>
@@ -319,8 +319,8 @@ nix-install: ## Install Nix if not already installed.
-.PHONY: nix-upgrade
-nix-upgrade: nix-flake-upgrade nix-build nix-switch ## Upgrade Nix flake, build, and switch.
+.PHONY: nix-update
+nix-update: nix-daemon-update nix-flake-update ## Upgrade Nix flake, build, and switch.
 
 .PHONY: nix-backup
</file context>
Suggested change
nix-update: nix-daemon-update nix-flake-update ## Upgrade Nix flake, build, and switch.
nix-update: nix-daemon-update nix-flake-update ## Update Nix daemon and flake lock file.
Fix with Cubic

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Note

Copilot was unable to run its full agentic suite in this review.

Refactors the Makefile’s “upgrade/update/dev/sync” targets to improve consistency and add Nix daemon upgrade steps, including an “upgrade inside dev shell” workflow.

Changes:

  • Reorganizes targets into Dev / Sync / Update / Upgrade sections and consolidates upgrade to depend on sync + update
  • Renames several targets from *-upgrade to *-update (e.g., Nix flake, overlays, Neovim, LLM, gitalias)
  • Improves nix-connect on macOS by conditionally restarting the daemon and adds nix-daemon-update

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread Makefile Outdated

.PHONY: dev
dev: nix-develop ## Enter the Nix dev shell (alias for nix-develop).
.PHONY: uptate

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Typo in the phony declaration: .PHONY: uptate means update is not marked phony, so make update may be skipped if a file named update exists. Rename uptate to update in the .PHONY line.

Suggested change
.PHONY: uptate
.PHONY: update

Copilot uses AI. Check for mistakes.
Comment thread Makefile
.PHONY: nix-upgrade
nix-upgrade: nix-flake-upgrade nix-build nix-switch ## Upgrade Nix flake, build, and switch.
.PHONY: nix-update
nix-update: nix-connect nix-daemon-update nix-flake-update ## Upgrade Nix flake, build, and switch.

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Target comment is inaccurate: nix-update no longer depends on nix-build and nix-switch, but the description still says 'build, and switch'. Update the comment to match the actual dependencies (or re-add nix-build/nix-switch if that behavior is still intended).

Suggested change
nix-update: nix-connect nix-daemon-update nix-flake-update ## Upgrade Nix flake, build, and switch.
nix-update: nix-connect nix-daemon-update nix-flake-update ## Connect to Nix, update the daemon, and update flake inputs.

Copilot uses AI. Check for mistakes.
Comment thread Makefile
Comment on lines +377 to +378
.PHONY: nix-daemon-update
nix-daemon-update: ## Upgrade Determinate Nix daemon to latest version.

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

PR description mentions adding nix-daemon-upgrade, but the Makefile introduces nix-daemon-update. Please align naming between the PR description and the actual target name (either rename the target or update the PR description) to avoid confusion for users.

Copilot uses AI. Check for mistakes.
Comment thread Makefile
Comment on lines +743 to +745
launchctl-brew-upgrader: ## Restart brew-updater launchd agent.
@echo "🔄 Restarting brew-updater..."
@launchctl unload ~/Library/LaunchAgents/org.nix-community.home.brew-updater.plist 2>/dev/null || true

Copilot AI Apr 5, 2026

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Target name launchctl-brew-upgrader conflicts with the updated agent name/file (brew-updater). Renaming the target to launchctl-brew-updater (and updating any aggregate dependencies listing it) would keep the Makefile interface consistent and reduce confusion.

Copilot uses AI. Check for mistakes.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 3

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@Makefile`:
- Around line 324-325: The nix-daemon-update step must not run during unattended
make update runs; remove "nix-daemon-update" from the "nix-update" target and
instead wire it only into the interactive "upgrade" target, or alternatively add
a short-circuit at the top of the "nix-daemon-update" recipe that exits
immediately when in automated contexts (e.g., detect CI or a NONINTERACTIVE/CI
env var or lack of a TTY) so automated callers of "make nix-update" won't invoke
the sudo determinate-nixd upgrade; update both the "nix-update" target
definition and the duplicate block around the other occurrence (the similar
target group later in the file) or implement the env-check guard inside the
"nix-daemon-update" rule to cover both occurrences.
- Around line 240-241: There's a typo in the .PHONY declaration: it lists
"uptate" instead of the actual make target "update", causing update to be
treated as a file target; change the .PHONY entry to include "update" (replace
or add to the current .PHONY list) so that the make target update: nix-update
overlays-update neovim-update llm-update gitalias-update is always run
regardless of any file named update.
- Around line 743-748: The Makefile target launchctl-brew-upgrader is pointing
at the wrong plist name; update the unload/load commands (and any user-facing
messages if desired) to reference org.nix-community.home.brew-upgrader.plist
instead of org.nix-community.home.brew-updater.plist so the launchctl
unload/load operate on the Home Manager emitted agent; adjust the two file-path
occurrences used in the `@launchctl` unload and `@launchctl` load invocations within
the launchctl-brew-upgrader target accordingly.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 02e93e3b-4b1d-49d2-8f4c-b4b780ac7576

📥 Commits

Reviewing files that changed from the base of the PR and between 7cc3756 and 29cb107.

📒 Files selected for processing (2)
  • Makefile
  • home-manager/modules/local-scripts/tmux-bridge.sh

Comment thread Makefile Outdated
Comment thread Makefile
Comment on lines +324 to +325
.PHONY: nix-update
nix-update: nix-connect nix-daemon-update nix-flake-update ## Upgrade Nix flake, build, and switch.

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Keep nix-daemon-update out of unattended make update runs.

home-manager/services/make-updater/update.sh:1-8 invokes make update, so wiring nix-daemon-update into nix-update now pushes a sudo determinate-nixd upgrade into a background service path. That either fails every run or waits for credentials. Either move the daemon upgrade to upgrade only, or make nix-daemon-update explicitly short-circuit for automated runs.

One safe way to keep background updates non-interactive
-.PHONY: upgrade
-upgrade: sync update
+.PHONY: upgrade
+upgrade: sync nix-daemon-update update

-.PHONY: nix-update
-nix-update: nix-connect nix-daemon-update nix-flake-update ## Upgrade Nix flake, build, and switch.
+.PHONY: nix-update
+nix-update: nix-connect nix-flake-update ## Refresh daemon connectivity and flake inputs.

Also applies to: 377-384

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 324 - 325, The nix-daemon-update step must not run
during unattended make update runs; remove "nix-daemon-update" from the
"nix-update" target and instead wire it only into the interactive "upgrade"
target, or alternatively add a short-circuit at the top of the
"nix-daemon-update" recipe that exits immediately when in automated contexts
(e.g., detect CI or a NONINTERACTIVE/CI env var or lack of a TTY) so automated
callers of "make nix-update" won't invoke the sudo determinate-nixd upgrade;
update both the "nix-update" target definition and the duplicate block around
the other occurrence (the similar target group later in the file) or implement
the env-check guard inside the "nix-daemon-update" rule to cover both
occurrences.

Comment thread Makefile
Comment on lines +743 to +748
launchctl-brew-upgrader: ## Restart brew-updater launchd agent.
@echo "🔄 Restarting brew-updater..."
@launchctl unload ~/Library/LaunchAgents/org.nix-community.home.brew-updater.plist 2>/dev/null || true
@sleep 3
@launchctl load ~/Library/LaunchAgents/org.nix-community.home.brew-upgrader.plist
@echo "✅ brew-upgrader restarted"

@launchctl load ~/Library/LaunchAgents/org.nix-community.home.brew-updater.plist
@echo "✅ brew-updater restarted"

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

Use the existing brew-upgrader plist name here.

home-manager/services/brew-upgrader/default.nix:1-15 still defines launchd.agents.brew-upgrader, so Home Manager will emit org.nix-community.home.brew-upgrader.plist. Pointing launchctl-brew-upgrader at ...brew-updater.plist means the unload/load commands miss the actual agent.

Suggested fix
 launchctl-brew-upgrader: ## Restart brew-updater launchd agent.
-	`@echo` "🔄 Restarting brew-updater..."
-	`@launchctl` unload ~/Library/LaunchAgents/org.nix-community.home.brew-updater.plist 2>/dev/null || true
+	`@echo` "🔄 Restarting brew-upgrader..."
+	`@launchctl` unload ~/Library/LaunchAgents/org.nix-community.home.brew-upgrader.plist 2>/dev/null || true
 	`@sleep` 3
-	`@launchctl` load ~/Library/LaunchAgents/org.nix-community.home.brew-updater.plist
-	`@echo` "✅ brew-updater restarted"
+	`@launchctl` load ~/Library/LaunchAgents/org.nix-community.home.brew-upgrader.plist
+	`@echo` "✅ brew-upgrader restarted"
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
launchctl-brew-upgrader: ## Restart brew-updater launchd agent.
@echo "🔄 Restarting brew-updater..."
@launchctl unload ~/Library/LaunchAgents/org.nix-community.home.brew-updater.plist 2>/dev/null || true
@sleep 3
@launchctl load ~/Library/LaunchAgents/org.nix-community.home.brew-upgrader.plist
@echo "✅ brew-upgrader restarted"
@launchctl load ~/Library/LaunchAgents/org.nix-community.home.brew-updater.plist
@echo "✅ brew-updater restarted"
launchctl-brew-upgrader: ## Restart brew-updater launchd agent.
`@echo` "🔄 Restarting brew-upgrader..."
`@launchctl` unload ~/Library/LaunchAgents/org.nix-community.home.brew-upgrader.plist 2>/dev/null || true
`@sleep` 3
`@launchctl` load ~/Library/LaunchAgents/org.nix-community.home.brew-upgrader.plist
`@echo` "✅ brew-upgrader restarted"
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 743 - 748, The Makefile target launchctl-brew-upgrader
is pointing at the wrong plist name; update the unload/load commands (and any
user-facing messages if desired) to reference
org.nix-community.home.brew-upgrader.plist instead of
org.nix-community.home.brew-updater.plist so the launchctl unload/load operate
on the Home Manager emitted agent; adjust the two file-path occurrences used in
the `@launchctl` unload and `@launchctl` load invocations within the
launchctl-brew-upgrader target accordingly.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

♻️ Duplicate comments (3)
Makefile (3)

327-328: ⚠️ Potential issue | 🟠 Major

Keep daemon upgrades out of unattended update runs.

Line 328 wires nix-daemon-update into make update, but Line 382 only skips in CI/IN_DOCKER. Automated update contexts (already modeled elsewhere via AUTOMATED_UPDATE) can still hit sudo determinate-nixd upgrade.

Suggested fix
 .PHONY: nix-daemon-update
 nix-daemon-update: ## Upgrade Determinate Nix daemon to latest version.
-	`@if` [ "$$CI" = "true" ] || [ "$$IN_DOCKER" = "true" ]; then \
-		echo "⏭️ Skipping determinate-nixd upgrade in CI"; \
+	`@if` [ "$$CI" = "true" ] || [ "$$IN_DOCKER" = "true" ] || [ "$$AUTOMATED_UPDATE" = "true" ] || [ ! -t 0 ]; then \
+		echo "⏭️ Skipping determinate-nixd upgrade in non-interactive/automated environments"; \
 	else \
 		echo "⬆️ Upgrading Determinate Nix daemon..."; \
 		$(SUDO) determinate-nixd upgrade || true; \
 	fi

Also applies to: 380-387

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 327 - 328, The nix-update target currently depends on
nix-daemon-update which causes unattended/automated runs to perform daemon
upgrades; change the dependency logic so nix-daemon-update is not pulled into
automated update flows—either remove nix-daemon-update from the nix-update
prerequisite list or wrap its invocation behind the AUTOMATED_UPDATE guard used
elsewhere (i.e., ensure nix-daemon-update is only executed when not
AUTOMATED_UPDATE/CI/IN_DOCKER). Update the Makefile targets (nix-update,
nix-daemon-update and the automated update gating logic) accordingly so
automated runs skip calling sudo determinate-nixd upgrade.

746-751: ⚠️ Potential issue | 🟠 Major

Verify brew launchd plist name consistency before merging.

Line 748 and Line 750 switched to org.nix-community.home.brew-updater.plist. If Home Manager still emits brew-upgrader, this target silently misses the real agent.

#!/bin/bash
set -euo pipefail

echo "Checking brew agent naming across repo..."
rg -n --hidden -S 'launchd\.agents\.(brew-upgrader|brew-updater)|org\.nix-community\.home\.brew-(upgrader|updater)\.plist' Makefile home-manager || true

echo
echo "Likely source files:"
fd -i 'default.nix' home-manager/services | xargs -I{} sh -c "rg -n -S 'brew-upgrader|brew-updater' '{}'" || true

Expected result: the identifier in Makefile should match the emitted launchd agent name from Home Manager definitions.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 746 - 751, The Makefile target launchctl-brew-upgrader
is using the plist name "org.nix-community.home.brew-updater.plist" which may
not match Home Manager's emitted agent name (e.g., "brew-upgrader"); verify the
actual plist identifier emitted by Home Manager and make the names consistent:
either rename the target to match the emitted agent (update the target name
launchctl-brew-upgrader or the echo texts) or change the two plist occurrences
to "org.nix-community.home.brew-upgrader.plist" so the unload/load commands
target the real agent; search repo for "brew-upgrader", "brew-updater", and
"org.nix-community.home.brew-" to ensure all references align before merging.

243-244: ⚠️ Potential issue | 🟡 Minor

Fix .PHONY typo for update.

Line 243 declares uptate, so Line 244 update can be treated as a file target and get skipped unexpectedly.

Suggested fix
-.PHONY: uptate
+.PHONY: update
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@Makefile` around lines 243 - 244, The .PHONY declaration currently lists
"uptate" instead of the actual target "update", causing the update target to be
treated as a file; fix this by correcting the .PHONY entry to include "update"
(replace or add "update" where "uptate" appears) so the Makefile's update target
is marked phony and won't be skipped.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Duplicate comments:
In `@Makefile`:
- Around line 327-328: The nix-update target currently depends on
nix-daemon-update which causes unattended/automated runs to perform daemon
upgrades; change the dependency logic so nix-daemon-update is not pulled into
automated update flows—either remove nix-daemon-update from the nix-update
prerequisite list or wrap its invocation behind the AUTOMATED_UPDATE guard used
elsewhere (i.e., ensure nix-daemon-update is only executed when not
AUTOMATED_UPDATE/CI/IN_DOCKER). Update the Makefile targets (nix-update,
nix-daemon-update and the automated update gating logic) accordingly so
automated runs skip calling sudo determinate-nixd upgrade.
- Around line 746-751: The Makefile target launchctl-brew-upgrader is using the
plist name "org.nix-community.home.brew-updater.plist" which may not match Home
Manager's emitted agent name (e.g., "brew-upgrader"); verify the actual plist
identifier emitted by Home Manager and make the names consistent: either rename
the target to match the emitted agent (update the target name
launchctl-brew-upgrader or the echo texts) or change the two plist occurrences
to "org.nix-community.home.brew-upgrader.plist" so the unload/load commands
target the real agent; search repo for "brew-upgrader", "brew-updater", and
"org.nix-community.home.brew-" to ensure all references align before merging.
- Around line 243-244: The .PHONY declaration currently lists "uptate" instead
of the actual target "update", causing the update target to be treated as a
file; fix this by correcting the .PHONY entry to include "update" (replace or
add "update" where "uptate" appears) so the Makefile's update target is marked
phony and won't be skipped.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 4515a376-2d86-4fb6-96fd-02be132b30cb

📥 Commits

Reviewing files that changed from the base of the PR and between 29cb107 and cf63764.

📒 Files selected for processing (1)
  • Makefile

- Bump versions for several packages including:
  - @anthropic-ai/claude-code from ^2.1.87 to ^2.1.92
  - @augmentcode/auggie from ^0.21.0 to ^0.22.0
  - @beads/bd from ^0.62.0 to ^0.63.3
  - @biomejs/biome from ^2.4.9 to ^2.4.10
  - @github/copilot from ^1.0.12 to ^1.0.18
  - @google/gemini-cli from ^0.35.3 to ^0.36.0
  - @googleworkspace/cli from ^0.22.3 to ^0.22.5
  - @kaitranntt/ccs from ^7.63.0 to ^7.66.0
  - @mariozechner/pi-coding-agent from ^0.64.0 to ^0.65.0
  - @oh-my-pi/pi-coding-agent from ^13.16.5 to ^13.18.0
  - @openai/codex from ^0.117.0 to ^0.118.0
  - @pencil.dev/cli from ^0.2.3 to ^0.2.4
  - @pulumi/pulumi from ^3.228.0 to ^3.229.0
  - @schpet/linear-cli from ^1.11.1 to ^2.0.0
  - @sourcegraph/amp from ^0.0.1774569934-g39e3ec to ^0.0.1775390627-g406649
  - @traces-sh/traces from ^0.4.9 to ^0.4.13
  - @typescript/native-preview from ^7.0.0-dev.20260329.1 to ^7.0.0-dev.20260405.1
  - acpx from ^0.4.0 to ^0.4.1
  - agent-browser from ^0.23.0 to ^0.24.1
  - agentcash from ^0.13.2 to ^0.13.6
  - chrome-devtools-mcp from ^0.20.3 to ^0.21.0
  - cline from ^2.11.0 to ^2.13.0
  - get-shit-done-cc from ^1.30.0 to ^1.32.0
  - openclaw from ^2026.3.28 to ^2026.4.2
  - paperclipai from ^2026.403.0-canary.10 to ^2026.403.0
  - oxfmt from ^0.42.0 to ^0.43.0
  - oxlint from ^1.57.0 to ^1.58.0
  - portless from ^0.7.2 to ^0.9.6
  - turbo from ^2.8.21 to ^2.9.3
  - vite-plus from ^0.1.14 to ^0.1.15
  - xcodebuildmcp from ^2.3.1 to ^2.3.2

@cubic-dev-ai cubic-dev-ai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

1 issue found across 4 files (changes from recent commits).

Prompt for AI agents (unresolved issues)

Check if these issues are valid — if so, understand the root cause of each and fix them. If appropriate, use sub-agents to investigate and fix each issue separately.


<file name="Makefile">

<violation number="1" location="Makefile:246">
P2: `update` claims to update bun dependencies but does not depend on `bun-update`, so `make upgrade` silently skips bun updates.</violation>
</file>

Reply with feedback, questions, or to request a fix. Tag @cubic-dev-ai to re-run a review.

Comment thread Makefile
##@ Update

.PHONY: update
update: nix-update neovim-update gitalias-update llm-update overlays-update ## Update Nix flake, overlays, Neovim plugins, LLM configs, gitalias, and bun deps

@cubic-dev-ai cubic-dev-ai Bot Apr 5, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2: update claims to update bun dependencies but does not depend on bun-update, so make upgrade silently skips bun updates.

Prompt for AI agents
Check if this issue is valid — if so, understand the root cause and fix it. At Makefile, line 246:

<comment>`update` claims to update bun dependencies but does not depend on `bun-update`, so `make upgrade` silently skips bun updates.</comment>

<file context>
@@ -238,23 +238,42 @@ rtk-rewrite-sync: ## Sync rtk-rewrite.sh from upstream rtk repo.
-.PHONY: uptate
-update: nix-update overlays-update neovim-update llm-update gitalias-update ## Update Nix flake, overlays, Neovim plugins, LLM configs, and gitalias
+.PHONY: update
+update: nix-update neovim-update gitalias-update llm-update overlays-update  ## Update Nix flake, overlays, Neovim plugins, LLM configs, gitalias, and bun deps
 
-.PHONY: llm-update
</file context>
Suggested change
update: nix-update neovim-update gitalias-update llm-update overlays-update ## Update Nix flake, overlays, Neovim plugins, LLM configs, gitalias, and bun deps
update: nix-update neovim-update gitalias-update llm-update overlays-update bun-update ## Update Nix flake, overlays, Neovim plugins, LLM configs, gitalias, and bun deps
Fix with Cubic

@shunkakinoki
shunkakinoki merged commit 7be7ae5 into main Apr 5, 2026
32 of 33 checks passed
@shunkakinoki
shunkakinoki deleted the make-upgrade branch April 5, 2026 13:19
@coderabbitai coderabbitai Bot mentioned this pull request Apr 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants