Skip to content

Add Codex CMUX sidebar hook bridge#32

Merged
ictechgy merged 6 commits into
mainfrom
feat/codex-cmux-sidebar
Jul 4, 2026
Merged

Add Codex CMUX sidebar hook bridge#32
ictechgy merged 6 commits into
mainfrom
feat/codex-cmux-sidebar

Conversation

@ictechgy

@ictechgy ictechgy commented Jul 4, 2026

Copy link
Copy Markdown
Owner

Summary

  • Add a Codex hook bridge that pushes understatus pills into the cmux left sidebar.
  • Preserve existing hooks while installing/uninstalling understatus-managed Codex hooks.
  • Document Codex/cmux usage in the main, npm, and Homebrew README files.

Safety

  • Hook stdout is neutral JSON ({}).
  • Hook handlers use an explicit 5 second timeout.
  • CMUX updates use set-status / clear-status only; set-progress is intentionally avoided.
  • Hook mode requires a caller/environment CMUX target and does not fall back to the focused workspace.

Tests

  • cargo fmt --all
  • cargo test --all-targets --locked
  • cargo clippy --all-targets --locked -- -D warnings
  • git diff --check

ictechgy added 6 commits July 4, 2026 23:49
Implement Codex hook installation, CMUX set-status application, stale key cleanup, and docs for cmux sidebar pills.

Constraint: preserve existing Claude/lterm behavior and avoid cmux set-progress workspace-global updates

Confidence: high

Scope-risk: moderate

Directive: Keep future edits limited to Codex/CMUX hook bridge, docs, and tests unless review expands scope

Tested: cargo fmt --all; cargo test --all-targets --locked; cargo clippy --all-targets --locked -- -D warnings; git diff --check

Not-tested: live Codex /hooks trust prompt interaction
Fix ultra-review findings by bounding hook-mode CMUX command execution, preserving stable launcher paths, normalizing malformed hooks event shapes, and using unique temp files while preserving hooks.json permissions.

Constraint: Codex hook must remain fail-soft within its 5s installed timeout and preserve existing user/OMX hooks

Confidence: high

Scope-risk: narrow

Directive: Keep future edits limited to review-loop findings unless another blocker expands scope

Tested: cargo fmt --all; cargo test --all-targets --locked; cargo clippy --all-targets --locked -- -D warnings; git diff --check

Not-tested: live package-manager upgrade path for installed hook command
Resolve review-loop blockers by resolving bare understatus launchers through install-time PATH, applying hook-level wall-clock budget before CMUX updates, and treating hooks.json permission-copy failures as install errors.

Constraint: installed Codex hooks must not depend on hook runtime PATH and must leave stdout reserve inside the 5s Codex hook timeout

Confidence: high

Scope-risk: narrow

Directive: Keep future edits limited to review-loop findings unless another blocker expands scope

Tested: cargo fmt --all; cargo test --all-targets --locked; cargo clippy --all-targets --locked -- -D warnings; git diff --check

Not-tested: live Homebrew Cellar upgrade path
Fix ultra-review findings by migrating legacy top-level hook events into the hooks object and bounding the manual cmux identify probe.

Constraint: install-codex-hooks must produce a Codex-readable hooks.json while preserving unrelated keys and existing hooks

Confidence: high

Scope-risk: narrow

Directive: Keep future edits limited to review-loop blockers unless another review expands scope

Tested: cargo fmt --all; cargo test --all-targets --locked; cargo clippy --all-targets --locked -- -D warnings; git diff --check

Not-tested: live malformed hooks.json migration outside unit fixtures
Fix ultra-review blocker by merging legacy top-level hook events with existing hooks-object events instead of dropping either shape during normalization.

Constraint: install-codex-hooks must remain non-destructive for mixed legacy/current hooks.json layouts

Confidence: high

Scope-risk: narrow

Directive: Keep future edits limited to review-loop blockers unless another review expands scope

Tested: cargo fmt --all; cargo test --all-targets --locked; cargo clippy --all-targets --locked -- -D warnings; git diff --check

Not-tested: arbitrary non-array mixed hook event shapes beyond unit fixtures
Bump Rust and npm package versions for the Codex CMUX sidebar release.

Validation: node npm/verify-release.js 0.7.2 --verify-packlist

Validation: cargo fmt --all -- --check

Validation: cargo test --all-targets --locked

Validation: cargo clippy --all-targets --locked -- -D warnings

Validation: git diff --check
@ictechgy ictechgy merged commit fb76f42 into main Jul 4, 2026
1 check passed
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