Skip to content

v0.16.9

Choose a tag to compare

@LIUTod LIUTod released this 25 Sep 13:30

Highlights

  • Agent turn lifecycle: a turn no longer continues after the final answer to reconcile internal state — the todo reconcile reminder is injected ahead of the answer instead, and the stop gate only continues for a correction, new external input, or a too-brief answer. The transcript is no longer pushed around by a bookkeeping round that produced nothing.
  • Windows and Linux: PowerShell is used when Git Bash is absent, and it is actually driven as PowerShell; command execution resolves .cmd/.bat shims through PATHEXT rather than relying on a shell; timed-out hooks and update steps terminate the whole process tree; the bundled ripgrep binary is chosen by probing the host libc; and path checks understand drive letters and UNC paths.
  • Injected reminders: the identity of an injected reminder is now decided in a single place, so a reminder is never mistaken for a user turn — plan mode no longer re-sends its full instruction block on almost every step.
  • Hardening: cmd.exe argument quoting fails closed instead of guessing, the PowerShell fallback carries the same self-protection as the POSIX path, and the local embedding dependency is optional so installs no longer fail on platforms without a prebuilt binary.
  • Project scripts: workspace filters select packages by name, so pnpm run typecheck no longer silently does nothing on Windows; the platform test leg runs on demand.
  • State files: located through the shared home resolver and written atomically.

Validation

  • Full test suite green (7510+); typecheck, lint, build and a frozen-lockfile install all pass.
  • CI runs on Linux and macOS on every push; the Windows test leg is available on demand.