feat!: drop the Codex CLI target — idstack is Claude Code only (v3.4.0.0) - #68
Merged
Conversation
The OpenAI Codex CLI build that shipped in v2.5.0.0 is removed, and the Gemini CLI target that was on the roadmap is off it. Claude Code is the only host idstack was ever tested against end to end. Removed: - dist/codex/ (11 generated SKILL.md files) - AGENTS.md and templates/agent-context.md, the file it was generated from - setup's --codex / --no-codex flags and the whole Codex install block - bin/idstack-gen-skills' --target flag, the allowed-tools stripper, and render_codex_assets; one output layout now, skills/<name>/SKILL.md - ~/.agents/plugins/idstack and ~/.agents/skills/idstack from the $_IDSTACK resolution chain, in all five copies (snippet, three preamble blocks, manifest-schema longhand) - the preamble's per-CLI translation rule, and pipeline's Skill-unavailable branch that printed $<skill> instructions The gate that replaces the 47 deleted Codex assertions is a repo-wide grep: nothing outside CHANGELOG.md may name the retired CLI. Three exemptions, each line-scoped and tagged. Three new mutations prove it bites, including one that catches a future rewrite from exempting lines to exempting the whole landing page. smoke-test 393 -> 353 assertions, mutation suite 18 -> 21. All ten suites green. docs/og-image.png regenerated from the edited template. Kept deliberately: the "Gemini Code Assist" attributions in test/. That is a GitHub PR-review bot that flagged the version classifier on #15, #19, #20 and #21 — it is why those cases exist, and it has nothing to do with Gemini CLI. Co-Authored-By: Claude Opus 5 <[email protected]>
The sweep that replaced the deleted Codex assertions had a hole big enough to defeat its own purpose, plus two smaller ones. - The bot-name exemption was a bare `grep -vF 'Gemini Code Assist'` applied to the whole sweep output, so any line anywhere containing that string was dropped before the assertion saw it. A landing-page paragraph reading "Reviewed by Gemini Code Assist. Also runs in Codex CLI." passed green. The exemption is a per-line IDSTACK_CLI_LEAK_ALLOW tag now — one mechanism, line-scoped — and mutation 17 pins the difference. - The sweep descended into .claude/worktrees/, so any worktree left on a pre-v3.4.0.0 branch made smoke-test fail from the primary checkout. .claude/ is gitignored and not part of the shipped tree; excluded. - regen() in the mutation suite still swallowed generator failure with `|| true` — the same silent-no-op class the --target removal was careful about. It aborts loudly now. Also: README described gen-skills as emitting "per-CLI skill files", a stale claim the literal sweep structurally cannot see (it names neither CLI). And the preamble justified the Agent inline fallback with a reason that was not true — four skills list Agent in allowed-tools and every one of them ships the sequential steps; the fallback exists because dispatch is a parallelization shortcut, not because the tool is missing. Mutation suite 21 -> 22. All ten suites green. Co-Authored-By: Claude Opus 5 <[email protected]>
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.
The OpenAI Codex CLI build that shipped in v2.5.0.0 is removed, and the Gemini CLI target that was on the roadmap is off it. Claude Code is the only host idstack was ever tested against end to end.
Nothing about the 11 skills, the evidence base, the manifest schema, or the report contract changes.
Removed
dist/codex/— 11 generatedSKILL.mdfilesAGENTS.mdandtemplates/agent-context.md, the file it was generated fromsetup's--codex/--no-codexflags and the entire Codex install block (~77 lines)bin/idstack-gen-skills'--targetflag, theallowed-toolsstripper, andrender_codex_assets. One output layout now:skills/<name>/SKILL.md~/.agents/plugins/idstackand~/.agents/skills/idstackfrom the$_IDSTACKresolution chain, in all five copies (canonical snippet, three inline preamble blocks, the longhand copy spliced fromtemplates/manifest-schema.md)/idstack:pipeline's Skill-unavailable branch that printed$<skill>instructionsKept, deliberately
The
Gemini Code Assistattributions intest/. That is a GitHub PR-review bot that flagged the version classifier on #15, #19, #20 and #21 — it is why those cases exist, and it has nothing to do with Gemini CLI. Exempted by per-line tag, not by string filter.The gate
47 assertions that named the second target were deleted. A green suite proves nothing once you delete the checks that were doing the looking, so they are replaced by 7:
dist/,AGENTS.mdandtemplates/agent-context.mdmust not exist; the generator must accept no--target; the resolve snippet and preamble must not carry the~/.agentsfallbacks; and a repo-wide grep must find nocodex/geminioutsideCHANGELOG.md.Exemptions are per-line
IDSTACK_CLI_LEAK_ALLOWtags — never whole files, never a bare string filter. Four mutations pin it, including one for a capability claim that happens to carry the review bot's name (the first draft of the sweep let that through).Verification
smoke-test.shintegration-test.shtest-setup.shtest-doctor.shtest-status.shtest-manifest-merge.shtest-version-classifier.shtest-plugin-status.shtest-preamble-python.shmutation-test.shdocs/og-image.pngregenerated from the edited template and visually diffed against the previous card — pixel-identical layout, only the lede line differs.Not verified:
./setuphas never been run for real against a liveclaude.test-setup.shdrives a stub. The version bump to 3.4.0.0 changes what the marketplace serves, which is historically where install bugs land.Migration for anyone who had the Codex build
./setupno longer knows those paths, and withdist/codex/deleted the symlinks it created now dangle:🤖 Generated with Claude Code