Repository navigation
Release 5.13.59 - #292
Merged
Merged
Release 5.13.59#292
Conversation
…point keeps its session (#278) Codex runs command hooks in the session shell (PowerShell, -NoProfile -Command), with cmd.exe /C only as a fallback. The 5.13.57 command (set "X=1" && "python" ... >NUL 2>&1) only parses in cmd.exe, so every hook still exited 1 under PowerShell. - Generate a shell-neutral command: bare interpreter token, double-quoted arguments, no set/&&/>NUL. Quiet hooks use a launcher env pair instead of a redirect. A path neither shell can take literally keeps the cmd-only form and the doctor flags it. - Any Token Optimizer run rewrites existing commands of the exact generated shape into the new form. - codex-doctor warns when a hook command is cmd.exe-only and shows which fields the Stop hook received (names only). - The Stop runner passes the session id and transcript path to the deferred checkpoint worker, and no anonymous "unknown" checkpoint is written when the host sent no session id.
…r, and explain the managed-machine notice (#281) A policy guard that Claude Code seats ahead of installed plugins on managed machines skips every classic.* event for them and notes each skipped event once per session. classic.UserPromptSubmit and classic.Stop only noted the transcript path, which classic.SessionStart already carries for every session, so they are removed. classic.SessionStart (/clear handling) and classic.PermissionRequest stay because nothing else carries those signals. Adds a source guard test and a docs section.
…lot-doctor catch skipped hooks Copilot CLI reads hook matchers as regex strings and skips any entry whose matcher is not a string. The installer wrote an object for preToolUse, so bash output compression never ran, while copilot-doctor still reported the hook config as OK. - Write matcher "bash" (anchored by Copilot as ^(?:bash)$). - copilot-doctor fails when any hook entry has a non-string matcher and points at copilot-install to rewrite it. - Add tests for the generated matcher, the installed file and the doctor check. Refresh the plugin mirror.
…pilot lacks copilot-install registered the rollup, dashboard refresh and in-flight tally cleanup under a lowercase `stop` event. Copilot has no such event, so none of it ran. Register the bridge under sessionEnd, keep `stop` as a legacy handler name, and have copilot-doctor warn when an old file still uses `stop`. The doctor also fails cleanly, instead of crashing, on a hook file that is not a JSON object.
- Pin CLAUDE_CONFIG_DIR and USERPROFILE and create the .claude dir for the subprocess runs, as the host-safety guard requires. - Skip the hook-executing tests when no working bash is available, using a capability probe instead of a platform check. - Drop modules first imported under a test's temporary HOME when the test ends, including when the test body or an import fails. - Restore the plugin_env state that test_orphan_plugin_identities changes, so tests that run after it see the real environment.
Use a continuity-only view of user text so metadata, local command output, and notifications cannot replace the real task. Keep genuine slash-command arguments without changing quality scoring or skill invocation accounting. Fixes #288
Exercise complete duplicate name, message and args wrappers through task, checkpoint and topic consumers. Removing only the duplicate-field guard now fails all nine cases. Pin multi-block followups and windowed topics.
…ode; copilot-doctor flags matchers Copilot skips - Topic-word floor uses fixed code-point ranges shared by all three runtimes, so fullwidth Latin (API) classifies the same everywhere. Alphabetic non-Latin scripts keep 3+ letter words, dropping 2-letter function words (на, في, של) that caused false matches. Combining marks no longer count toward length. - copilot-doctor fails empty, invalid, lookaround and backreference matchers. - copilot-install removes its temp file when the locator write fails.
… text - Advisor iterations are billed at their own model (executor model when unpriced), added on top of the executor sum so no tokens are dropped. - Keep-warm replay and the cache-rewrite detector use executor occupancy. - Interrupt markers, cut-off notices, bare local slash commands and leading system-reminder blocks no longer become the Active Task. - Costly prompts reuse the task text filter; meta records are not counted as human messages; session baselines use context size.
…ick or !; Stop never writes an empty checkpoint (#278) Paths holding a character PowerShell or cmd.exe expands now go through the 8.3 short name of their folder or a plain python -c bootstrap that reads the folder from the environment, instead of the cmd-only form. The doctor names the exact fix when no PowerShell-safe form exists. On Codex, a Stop with no readable transcript records why and writes no placeholder checkpoint. Adds shell models of cmd.exe, Windows PowerShell 5.1 and PowerShell 7 and a path matrix test, plus an end-to-end Codex Stop test.
The checkout now writes the same shell-neutral launcher command as a marketplace install, pinned to the checkout so a version folder beside it is never picked instead.
- Codex: AGENTS.md, environment context and turn markers never become the topic or Active Task; the user_message event wins over its duplicate. - VS Code companion: fill uses the final executor iteration (#287). - OpenClaw: legacy Claude Code logs skip harness records for the topic. - Notes on the billing-ratio statusline and compact-advice share.
…mon files, wins the settings lease, and a guard counts what is left (#106)
… is not in its own
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 subscribe to this conversation on GitHub.
Already have an account?
Sign in.
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.
Release 5.13.59.
Includes #279, #280, #282, #285, #286, #289, #290. Fixes #278, #281, #284, #287, #288.