Releases: CBEPX/cc-plugin-codex
Release list
v1.7.12
For standalone scripts outside a Codex session, pass --owner-session-id or set CLAUDE_COMPANION_SESSION_ID before delegating work.
Changed
- Require an owning Codex session for new delegated work and owner-scoped reads. The owner resolves from
--owner-session-id, thenCLAUDE_COMPANION_SESSION_ID, then a validCODEX_THREAD_ID, then the workspacecurrent-session.jsonmarker only while itsupdatedAtis less than 24 hours old; missing, malformed, or future timestamps reject the marker, and file mtime is never used. Newtask,review,adversarial-review, andpeer-createruns, plusbackground-routing-context, fail withSESSION_OWNER_REQUIREDbefore contacting Claude Code, creating jobs, or reserving job ids, and an accepted--job-idreservation is still released. Standalonetask/reviewcallers outside a Codex session must pass--owner-session-idor setCLAUDE_COMPANION_SESSION_ID. Without an owner, plainstatusreturns an empty, explained scope without listing or reaping jobs, and implicitresult/cancelrefuse; explicit ids, prefix matching, andstatus --allare unchanged. Implicitcancelwith an owner now considers only that owner's jobs and workflows.status,session-routing-context, andbackground-routing-contextJSON addownerSourceandmarkerStatusnext toownerSessionId.
Fixed
-
Record the SessionStart owner before pending cleanup can consume the hook budget. Keep the existing deadline and shared marker lock.
-
Keep
status --allavailable when the owner environment or marker contains an invalid session id. Request validation and the Claude Code loop guard retain precedence over missing-owner errors. Marker lock failures stop delegation and release an accepted reservation. -
Stop treating an old workspace marker as the current owner. Reads and same-owner delegation no longer renew the marker, and a prompt for another session still never overwrites it.
SessionEndnow trusts only the hook's session id orCLAUDE_COMPANION_SESSION_ID, so a missing id leaves jobs, processes, and the marker untouched; the Stop review gate recordsskipped_missing_owner_sessionwithout listing jobs or invoking Claude. Marker writes, the conditional prompt refresh, and the owner-checked clear now share the existing state lock, so a delayedSessionEndfor one session cannot delete another session's marker. Raw marker readers, including the Claude Code host-origin loop guard, remain age-independent.
CI
- Allow 60 minutes for the full mutation
stateshard; keep the other shards at 45 minutes. Mutation scope and score thresholds are unchanged.
Validation: all eight full mutation shards and PR CI passed; source, packaged and installed marker/lifecycle E2E passed.
v1.7.11
Fixed
- Limit
mcp-diagnoseprobes before starting servers. Exact--user-mcp-toolpins now probe only their configured servers.--no-auto-toolswithout pins probes none. Without either option, discovery still probes all configured servers in scope. The inventory still lists unprobed servers, and unknown pins reportexplicit_tool_missingwithout unrelated server startup. - Make the peer E2E state scanner tolerate files and directories that disappear during a scan. Existing lock/tmp contents remain visible to leak assertions. This change affects tests only.
Install the immutable v1.7.11 tag or use the attached archive and SHA-256 file. Restart Codex after updating so existing sessions load the new plugin and hooks.
This release does not migrate plugin state or remove old records. npm and downstream marketplace publishers remain disabled for this fork.
v1.7.10
Fixed
- Reading state paths, configuration, or session markers no longer automatically moves or merges legacy plugin data or deletes
armed-*markers. This also makessetup --checkpreserve existing state. - Reads use the current
plugins/data/ccnamespace. Legacy-only data remains untouched and is not imported; current-state defaults apply when no current configuration exists. Explicit writes and identity-checked job reaping retain their existing behavior.
Upgrade note
If your data exists only under plugins/data/claude-code, its settings and history will no longer be automatically imported. In particular, the review gate defaults to disabled without a current configuration. Keep the legacy data for a future explicit migration.
This release is the safe intermediate version for subsequent state migration work. It does not change state namespaces or migrate existing data, and adds no new cleanup of old job records.
Install the pinned v1.7.10 marketplace ref and restart Codex. GitHub assets include the package archive and its SHA-256 checksum; npm and upstream marketplace publishing remain disabled for this fork.
v1.7.9
- Upgrade development tooling to TypeScript 7.0.2, Acorn 8.16.0, and @types/node 26.2.0 with undici-types 8.3.0. Node >=18 runtime support is retained.
- Preserve all 52 mutation-guard function spans with Acorn and add the minimal JSDoc and callback-arity compatibility fixes required by the native TypeScript compiler.
- Keep unused root tsconfigs out of Stryker's JavaScript sandbox so mutation tests work with TypeScript 7; mutation targets, thresholds, and standalone typechecks remain unchanged.
- Pin GitHub Actions checkout 7.0.1 and setup-node 7.0.0 by commit SHA in every workflow consumer.
Validation: 1037 unit, 120 integration, and 25 native Codex E2E tests passed without skips. The installed archive passed real Opus 5.5 and Fable 5.1 reviews plus a Fable task without fallback; all 93 installed files match the archive and source.
Hosted Linux/macOS/Windows/Node 18 CI, PR mutation, and all eight full-mutation shards with the merged report artifact passed. Final PR Windows checks passed on image 20260922.246.2 after an earlier qualification run hit a PowerShell/CIM timeout in unchanged code.
Finish active jobs before upgrading. Restart Codex after installation to reload the plugin and hooks.
Artifact: cc-plugin-codex-1.7.9.tgz (667738 bytes).
SHA-256: 868f68eb5b5b27f2aa750c2a1cb9dd35ef2614192fe3d2c4b12e967eb8707121.
The inherited npm and Sendbird marketplace publishers remain disabled. This release is distributed through GitHub.
v1.7.8
- Run Stop reviews through the bundled read-only Git MCP. Review, adversarial-review, and Stop now restrict available built-in tools, so inherited permission grants cannot expose Bash or write tools.
- Preserve large-diff and staged-only review through Git MCP; recover all untracked paths even when local Git configuration hides them.
- Bound inline BLOCK reasons to a 1500-Unicode-code-point prefix plus a snapshot reference, while saving complete evidence first. Clarify turn-end Stop versus session-end SessionEnd behavior.
- Verify native SessionEnd cleanup with an installed-plugin test using real Codex and exact lifecycle hook trust.
Validation: 1036 unit tests, 120 integration tests, and 25 native E2E tests pass locally without skips. Hosted Linux coverage is 92.83% lines, 84.17% branches, and 97.82% functions; Linux, macOS, Windows, Node 18, and pull-request mutation checks pass. All eight full-mutation shards and the merged report artifact pass. The installed archive passed real Opus 5.5 and Fable 5.1 reviews without model fallback. All 93 installed files match the archive and release source.
Finish active jobs before upgrading. Restart Codex after installation to reload the plugin and hooks. The shared stop-review-last.json snapshot can be replaced by a later review; history retains session/run evidence.
Artifact: cc-plugin-codex-1.7.8.tgz (667273 bytes).
SHA-256: 3903f3aa17c6b8064c04be640d8c9850f2c0653fb910e879b3d044dd4f0b6033.
The inherited npm and Sendbird marketplace publishers remain disabled. This release is distributed through GitHub.
v1.7.7
- Keep macOS cancellation working when a launcher execs Claude by using a versioned process birth-time identity. Preserve ambiguous legacy records and refuse signals when identity cannot be verified.
- Keep earlier progress messages out of final responses while retaining recovery of truncated terminal text within the final message.
- Qualify Opus 5.5 and Fable 5.1 handling: preserve structured failures, expose requested effort, emit content-free thinking progress, and update starter prompts and task guidance. Effort defaults remain unchanged.
Validation: 1160 tests pass, with 92.86% line coverage. Windows, macOS, Linux coverage, Node 18, and pull-request mutation checks pass. The locally installed artifact passed real task/resume/review/peer, cancellation before/after exec, parser, both approved Brave tools, and a fresh Codex client using the installed rescue skill. All 93 installed runtime files match the release archive.
Finish active jobs and resolve cancel_failed jobs before upgrade or rollback. Known minor follow-up inherited from 1.7.6: a fractional reaper timeout can defer stale-job cleanup.
Artifact: cc-plugin-codex-1.7.7.tgz (665325 bytes).
SHA-256: b9d27c78d3d20d31b3c87fd8189c0d3812d87e3ee03e048a9b6a1b5acb15e82c.
The inherited npm and Sendbird marketplace publishers remain disabled. This release is distributed through GitHub.
v1.7.6
Bound session-start and prompt hooks to the host deadline, including Git discovery and stale-job identity probes. Malformed or oversized lifecycle payloads fail open, and unread background results remain available when parent delivery fails.
Collaboration instructions now use fresh subagent context, parent-only message delivery, computed defaults when question tools are unavailable, and explicit Fable reasoning effort.
This release contains c93681c and f11f586 plus the test-only fix for #57, merged through #58. Opus 5.5/Fable 5.1 runtime adaptation and macOS exec-stable cancellation belong to 1.7.7.
Validation includes cross-platform CI, pull-request mutation, local repository checks, and a real Fable 5.1 task from the packed artifact. Packed hook checks cover deadline handling and malformed/oversized input.
Download cc-plugin-codex-1.7.6.tgz and its .sha256 asset. SHA-256: b8c5919b8d33327e6558c3b0c0ba3d2d058d9895b6e070294f53034c3bbbbeff.
The MCP fixture race tracked in #57 is fixed by installing its SIGTERM handler before publishing readiness and allowing one second for startup. Runtime package files are unchanged by this test fix. The inherited npm and Sendbird marketplace publishers are disabled; this release is distributed through GitHub.
v1.7.5
Large public reads now stay within 8192 UTF-8 bytes and remain valid JSON, with explicit omissions. Use --output <new-path> for complete authorized JSON and its SHA-256 receipt. Compact default JSON is an intentional compatibility change; existing history remains intact.
- Complete memo/export/read instructions for independent workers, HTTPS citation strings with legacy compatibility, and bounded schema diagnostics.
- Explicit peer tool selection, denial of discovered unselected MCP tools, ordinary hooks disabled per peer invocation, and rejection of forbidden tool events before accepting memo/critique output.
- Correct result acknowledgement after complete delivery; unavailable or unsealed peer owners cannot expose sibling payloads, while valid generic workflows remain readable.
- Signal-safe temporary input cleanup, isolated direct stateful tests, and eight full mutation shards with unchanged targets and thresholds.
Node >=18. No new runtime dependencies or history migration. Native Windows peer execution remains unsupported; managed hooks and selected external MCP servers retain their documented trust boundaries.
Installation: pin the Codex marketplace to v1.7.5, then install/update cc@cbepx. Open a fresh Codex session after updating.
Validated candidate 66264eec6c20003c971011914bbbb03641989fd7; merge ab53e31e57022b6e5f88e2ac3706d135938c48c8 has the identical Git tree. Local check passed 1001 unit, 120 integration and 24 E2E tests. Cross-platform CI, Node 18 compatibility, coverage thresholds, PR mutation and all eight full mutation shards passed. Real Fable 5.1 / Opus 5 design and research flows completed through critique/synthesis with both selected Brave tools, 1M context, no fallback/stream diagnostics, and zero workspace changes.
v1.7.4
Reliability fixes
- Consume delayed and large piped input safely; generate complete stdin recipes and accept empty optional continuation feedback (#41, #42).
- Keep peer mutation receipts bounded and reject deterministic failures before creating tracked jobs (#43, #44).
- Preserve authoritative Claude terminal, authentication, and rate-limit failures ahead of text heuristics (#32, #47, #48).
- Freeze the audited MCP tool registry, isolate test host markers, document pinned installation, and refresh vulnerable development dependencies (#26, #33, #35, #40).
Verification
-
Tag target: merge commit
2ed8323f2d52ce9635c25b02a7c71b468565c087from PR #50; its complete Git tree matches the qualified candidate exactly. -
Independent task and blocker-fix reviews passed; Claude Opus adversarial findings were addressed.
-
Local check: 958 unit, 120 integration, and 24 E2E tests passed; Node 18 unit/integration checks passed.
-
Coverage: 92.72% lines/statements, 83.9% branches, 98.29% functions. All required mutation thresholds passed.
-
All five required hosted checks passed on candidate
9c29f8712160161a8aa8b0d2e45abfe7df95c0d9. -
Post-merge CI run 33916023986 passed on the release target: macOS full check, Ubuntu coverage, Node 18, and Windows.
-
Full and production dependency audits reported zero vulnerabilities.
-
Artifact:
cc-plugin-codex-1.7.4.tgz, 656044 bytes, 92 files; SHA-25612c69f44eb8ff9f22d319373aa25dd50f73fc454defb216b375eafb75443c944. -
Fresh exact-artifact design and research workflows completed through critique and synthesis with Claude Fable 5.1 (1M context) and Codex Astra 6. Both selected Brave tools and native structured output were observed; no fallback, parser diagnostics, repeated attempts, workspace changes, or active jobs remained.
-
Packed validation rejects unselected, nonregistry, and lookalike Brave evidence. Tracked receipts remained below 2 KiB and logs passed redaction checks.
-
Exact-tag installation verified:
cc@cbepx1.7.4 enabled; marketplace HEAD equals the tag target; all 92 installed package files match the qualified artifact. Setup/check ready with four trusted hooks; Codex doctor reports zero warnings/failures. -
Installed-cache Fable 5.1 and Opus 5 smokes returned exact markers, 1M context, no fallback, parser errors, or touched files. Reloading skills/hooks in an already-running Codex session still requires a restart.
Manual qualification automation (#27), direct-test state isolation (#45), historical rendering (#46), and signal-safe temporary-input cleanup (#49) remain follow-ups.
v1.7.3
Fixed
- Require peer memo and critique phases to return successful native structured output, rejecting JSON text fallbacks (#31).
- Handle subcommand
--helpand-hlocally before dispatch without changing literal prompts after--(#29).
Verification
- Built from annotated tag
v1.7.3at6d4cfdb1fa569e35e9c4ed4da7ac0cbc3ce457a8. - Full exact-tag gate: 938 unit, 116 integration, and 24 E2E tests passed (1,078 total).
- Post-restart live design and research workflows completed with Fable 5.1 (
claude-fable-5-1, 1M context), no fallback or stream diagnostics, native structured output, and both audited Brave MCP tools. - Installed plugin readback:
cc@cbepx1.7.3 enabled;$cc:setup --checkready with four native hooks trusted. - Production dependency audit: zero vulnerabilities (
npm audit --omit=dev).
See CHANGELOG.md for the release history.