Repository navigation
release: codexclaw 0.2.42 - #291
Conversation
Codex Review SummaryThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: db752b56a9
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| PAYLOAD='{"hook_event_name":"PreToolUse","session_id":"smoke","cwd":"'"$TMP"'","tool_name":"Bash","tool_input":{"command":"echo $(git push origin HEAD)"}}' | ||
| OUT=$(printf '%s' "$PAYLOAD" | node "$HOOK" hook worktree-guard-pretool 2>/dev/null) | ||
| echo "$OUT" | grep -q '"deny"' && echo "SMOKE=deny" || echo "SMOKE=NOT-DENIED $(echo "$OUT" | head -c 160)" | ||
| echo "RESULT=DONE" |
There was a problem hiding this comment.
Fail and roll back unsuccessful host deployments
When any post-merge step fails—for example, installation exits nonzero, doctor fails, the payload comparison reports differences, or the deny smoke fails—the script merely prints that status and then unconditionally emits RESULT=DONE; it never restores the saved cache/configuration or returns a failure. A partially installed or unverifiable host can therefore be recorded and left as successfully deployed, contrary to the documented rollback and PASS requirements. Aggregate these checks and restore the backup before returning a nonzero result on any failure.
Useful? React with 👍 / 👎.
| [ -n "$SHA" ] || { echo "RESULT=ERROR no sha"; exit 2; } | ||
| cd "$CO" 2>/dev/null || { echo "RESULT=SKIP missing checkout $CO"; exit 3; } | ||
| echo "CHECKOUT=$CO" | ||
| branch=$(git rev-parse --abbrev-ref HEAD); dirty=$(git status --porcelain --untracked-files=no | wc -l | tr -d ' ') |
There was a problem hiding this comment.
Reject untracked files in the dirty-check gate
When a checkout contains untracked files, --untracked-files=no deliberately hides them, so the script proceeds even though its contract says dirty checkouts are skipped. Because the subsequent installer copies the marketplace checkout, untracked plugin files can participate in the attempted installation before any verification occurs; this defeats the pre-mutation cleanliness guard. Use the full porcelain status, as the existing remote installer does, so all dirty checkouts are rejected.
Useful? React with 👍 / 👎.
Bumps codexclaw to 0.2.42 for the prompt-reduction release (#287, #288, #289, #290). Version files, the plugin manifest (
0.2.42+codex.20261009045258), inventory and badges are updated, and the CHANGELOG[Unreleased]section becomes[0.2.42] - 2026-10-09with a Compatibility note. It also carries the release-phase plan and the per-host deploy script (devlog/_plan/261009_prompt_reduction/040_wp5_release_deploy.md,evidence/deploy-host.sh).Verification:
check-versions.mjs 0.2.42OK;npm ls --workspaces --depth=0shows every workspace at 0.2.42;npm test3,772 tests, 0 failures, 5 platform skips; gate, inventory (--tests 3772) and platform smoke pass.