gstack: Add Codex compatibility layer without forking workflows#79
Open
mneves75 wants to merge 2 commits intogarrytan:mainfrom
Open
gstack: Add Codex compatibility layer without forking workflows#79mneves75 wants to merge 2 commits intogarrytan:mainfrom
gstack: Add Codex compatibility layer without forking workflows#79mneves75 wants to merge 2 commits intogarrytan:mainfrom
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.
Summary
This PR adds a Codex-compatible host layer to gstack without rewriting the project or forking the workflow logic.
The core idea is to split the repo into two concerns:
browse/, the shared setup/build/version flow, and the workflow content itself.That keeps one upstream codebase, one browser runtime, and one set of workflow contracts while making gstack usable from Codex in a way that matches Codex's actual model instead of trying to fake Claude slash-command infrastructure.
Why this version is stronger
The initial Codex pass was installable, but some shared helper paths still implicitly preferred Claude conventions. This version hardens the seams that matter in production:
.codex/skills/*packaging andAGENTS.mdguidance instead of Claude emulation..agents, and Claude installs instead of assuming.clauderoots.codex exec --jsonruntime, not just static file checks.That makes this a real dual-host integration layer rather than a docs-only compatibility story.
Design goals
What changed
1. Added a Codex-native host layer
AGENTS.mdwith the Codex operator contract and slash-to-skill compatibility mapping..codex/skills/*for:gstack-browsegstack-qagstack-reviewgstack-plan-ceo-reviewgstack-plan-eng-reviewgstack-browser-cookiesgstack-shipgstack-retro2. Split reusable workflow content from host glue
references/workflows/.3. Made setup host-aware
./setupnow supports:--host claude--host codex--host auto4. Preserved gstack command ergonomics with thin wrappers
Added compatibility wrappers in
bin/:gstack-browsegstack-qagstack-reviewgstack-plan-ceo-reviewgstack-plan-eng-reviewgstack-browser-cookiesgstack-shipgstack-retroThese are intentionally thin. They document and expose the Codex-facing workflow names without trying to recreate Claude's native slash-command registration behavior.
5. Hardened shared helper path resolution
The second pass fixed the places where the repo was still subtly Claude-shaped:
browse/src/find-browse.tsandbrowse/bin/find-browsenow search Codex,.agents, and Claude-style install roots.scripts/gen-skill-docs.tsnow generates helper blocks that resolve Codex and.agentsinstalls too.gstack-upgrade/SKILL.md.tmpland generated output now detect Codex installs and vendored copies.review/greptile-triage.mdnow resolves shared install paths through Codex and.agentsroots as well.bin/gstack-configno longer uses BSD-onlysed -i ''; it now works on Linux too.6. Added Codex-focused validation
Added tests for:
codex exec --jsonValidation
Current validation run on this branch:
All passed.
Additional install smoke coverage was also completed during development for:
./setup --host codex./setup --host codexfor idempotency./setup --host claudeNon-goals
Risks / follow-ups
references/workflows/as the source of truth; future workflow edits should continue to update shared docs first to avoid drift.Outcome
After this PR, a Codex user can clone the same repo, run host-aware setup, use the same browser/QA engine, and trigger the same cognitive modes from Codex with minimal host-specific drift.
That is the portability win: one repo, one runtime core, thin host glue.