Skip to content

feat!: drop the Codex CLI target — idstack is Claude Code only (v3.4.0.0) - #68

Merged
savvides merged 2 commits into
mainfrom
feat/claude-code-only
Aug 7, 2026
Merged

feat!: drop the Codex CLI target — idstack is Claude Code only (v3.4.0.0)#68
savvides merged 2 commits into
mainfrom
feat/claude-code-only

Conversation

@savvides

@savvides savvides commented Aug 6, 2026

Copy link
Copy Markdown
Owner

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 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 entire Codex install block (~77 lines)
  • 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 (canonical snippet, three inline preamble blocks, the longhand copy spliced from templates/manifest-schema.md)
  • The preamble's per-CLI translation rule, and /idstack:pipeline's Skill-unavailable branch that printed $<skill> instructions

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. 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.md and templates/agent-context.md must not exist; the generator must accept no --target; the resolve snippet and preamble must not carry the ~/.agents fallbacks; and a repo-wide grep must find no codex/gemini outside CHANGELOG.md.

Exemptions are per-line IDSTACK_CLI_LEAK_ALLOW tags — 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

Suite Result
smoke-test.sh 353/353 (was 393; 393 − 47 + 7)
integration-test.sh 48/48
test-setup.sh 17/17
test-doctor.sh 13/13
test-status.sh 22/22
test-manifest-merge.sh 23/23
test-version-classifier.sh 27/27
test-plugin-status.sh 9/9
test-preamble-python.sh 6/6
mutation-test.sh 22/22 guarded, 0 not-guarded (was 18)

docs/og-image.png regenerated from the edited template and visually diffed against the previous card — pixel-identical layout, only the lede line differs.

Not verified: ./setup has never been run for real against a live claude. test-setup.sh drives 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

./setup no longer knows those paths, and with dist/codex/ deleted the symlinks it created now dangle:

rm -f "${CODEX_HOME:-$HOME/.codex}"/skills/idstack-* "$HOME/.agents/plugins/idstack"

🤖 Generated with Claude Code

savvides and others added 2 commits August 6, 2026 07:58
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]>
@savvides
savvides merged commit b795d02 into main Aug 7, 2026
8 checks passed
@savvides
savvides deleted the feat/claude-code-only branch August 7, 2026 11:09
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