Repository navigation
Run coding-client chats in Muster's own home - #726
Merged
Merged
Conversation
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.
Fixes #720
Problem: Muster ran the coding client with the person's own
CODEX_HOME, so every Muster chat appeared as a thread in their other coding apps, and those apps' indexes grew with Muster's work.Fix: Muster now gives the client its own home at
<dataDir>/codex-home/<hash of the person's home>:codex-home.ts,prepareMusterCodexHome: before each launch, links the shared entries of the person's home into Muster's:auth.json,config.toml,*.config.tomlprofiles, model catalogs, skills, plugins, rules, prompts, AGENTS files and helpers. Sign-in, profiles and plugins stay shared and up to date. If the client replaced a link with a file, the newer copy goes back to the person's home and the link is restored. Where links can't be made, directories use junctions and files are copied.adoptCodexThread: a chat started before this change has its rollout copied into Muster's home once. It then continues its own thread with its full history, and the person's copy is never written to again.provider-instances.ts: routes getCODEX_HOME=<own home>andMUSTER_CODEX_SOURCE_HOME=<person's home>, andsessionsRootpoints at the own home.MUSTER_SHARED_CODEX_HOME=1restores the old behaviour.provider-usage.ts: usage reads the own home and the linked person's home and takes the newest rate-limit reading, so limits recorded by other apps still show.Muster never deletes or hides threads in other apps.
Tests:
tests/own-codex-home-720.test.ts(MUS-SPEC-03-720A/B/C). These are real-client e2e runs against a local mock router.provider-discovery,provider-instances-cache,router-usage-workflow,provider-binding,claude-messages-lane,replay-expired-716andimage-inputspass, and typecheck is clean.provider-auth-e2e (b)fails locally on main too, because it reads the machine's own gateway profile. That failure is unrelated to this change.