Skip to content

chore(dogfood): trust mise configs in mux worktrees#27420

Open
ibetitsmike wants to merge 2 commits into
mainfrom
mike/dogfood-mise-trust-mux-worktrees
Open

chore(dogfood): trust mise configs in mux worktrees#27420
ibetitsmike wants to merge 2 commits into
mainfrom
mike/dogfood-mise-trust-mux-worktrees

Conversation

@ibetitsmike

@ibetitsmike ibetitsmike commented Jul 22, 2026

Copy link
Copy Markdown
Collaborator

This PR was authored by Mux, an AI coding agent, acting on Mike's behalf.

Summary

Add /home/coder/.mux/src to the dogfood mise trusted_config_paths defaults so mise configs in Mux-managed worktrees are trusted out of the box.

Background

Mux creates a fresh worktree per workspace under ~/.mux/src/<project>/<branch>. For repos that ship a mise.toml (like this one), every fresh worktree is an untrusted mise config directory:

  • With a TTY, any mise shim or mise exec (e.g. make lint targets) blocks forever on the interactive mise trust prompt. When output is captured, the prompt is invisible and looks like a deadlock.
  • Without a TTY, it fails with Config files ... are not trusted.

Either way, each new worktree needs a manual mise trust before builds work.

Implementation

The trust list is defined in three places that must stay in lockstep: the /etc/mise/conf.d/00-coder-trust.toml fallback baked into both Dockerfile.base images, and the user-owned ~/.config/mise/conf.d/00-coder-trust.toml seeded by the install-deps script in main.tf (mise does not merge trusted_config_paths across config layers). All three get the new path.

For home volumes that already have the seeded trust file, install-deps now backfills the Mux path into the existing trusted_config_paths array (guarded by a grep so it runs once). The backfill only matches the seeded multi-line layout; files reshaped by the user are left untouched.

Validation

Verified on a dogfood workspace: with /home/coder/.mux/src in trusted_config_paths, a fresh directory under ~/.mux/src/coder/ containing this repo's mise.toml reports trusted from mise trust --show, and a mise shim invocation under a PTY that previously hung on the trust prompt returns immediately.

The trust-file block was extracted from the template (with the heredoc indent stripped, matching the rendered script) and executed against three fixtures: a pre-change seeded file (backfill inserts the path once, idempotent on re-run), a missing file (seeds the new default list), and a user-reshaped single-line file (left unmodified).


Generated with mux • Model: anthropic:claude-fable-5 • Thinking: xhigh • Cost: $6.34

@chatgpt-codex-connector chatgpt-codex-connector 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.

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: c4284c3aa8

ℹ️ 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".

Comment thread dogfood/coder/main.tf
@ibetitsmike

Copy link
Copy Markdown
Collaborator Author

@codex review

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. More of your lovely PRs please.

Reviewed commit: b1f711a099

ℹ️ 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".

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.

1 participant