Draft
Conversation
Establishes default → personal → work inheritance chain. Default stays lean with cc-marketplace as the only bundled default. Personal extends default with preferred model (opusplan). Work extends personal with extended-context model overrides. Cleans up personal artifacts that leaked into the base tier: removes unused beads/perles Bash permissions, removes plugin-dev plugin from default profile, genericizes personal username and org references in AGENTS.md examples. Removes vestigial enabledPlugins from base settings.json, dead is_enabled field from ToolSpec, and stale refactoring comment in config.py. Adds empty mcps.json so profile mcp_overrides can merge onto a base.
codex exec hangs in non-TTY contexts (Claude Code's Bash tool) because it waits for stdin that never arrives. The ad37829 fix piped prompts via stdin, which worked but caused Codex to echo the full prompt to stderr. The OPENAI_API_KEY injection was also unnecessary — ChatGPT OAuth works when the configured model supports exec mode. Fix: close stdin with < /dev/null and instruct Codex to cat the prompt file via its shell tool. Drop API key injection and key-file guard. Separately, the cache system only activated when settings_overrides existed, but agents with preserved_fields (codex: projects, claude: hooks/plugins, goose: extensions, gemini: ide) need the cache as a write buffer even without overrides — otherwise the symlink points to the git-tracked source and the agent dirties the repo. Add Agent.needs_cache property and a force parameter on Config cache helpers so all four agents route through the cache unconditionally. Also make the crossfire skill auto-execute by replacing the persona description with an imperative heading.
The previous commit expanded cache creation to agents with preserved_fields, but three code paths still assumed "overrides = cache": cleanup_orphaned_cache deleted caches it shouldn't have, config show --merged skipped agents with preserved-field caches, and direct dict access on settings_overrides would KeyError for agents that only have preserved_fields. Make cleanup_orphaned_cache require an explicit agents_needing_cache set (removes the unsafe settings_overrides-only fallback), fix config show --merged to detect cache files regardless of overrides, and guard dict accesses with .get().
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.
No description provided.