Skip to content

0.4.1

Choose a tag to compare

@github-actions github-actions released this 04 Oct 06:35
· 5 commits to main since this release
9c34b45

Motifcode 0.4.1 fixes interrupted tool batches, multiline paste rendering, and sessions that silently ended after a generation was stopped by the router. It also adds configuration for the default shell-command timeout.

Fixes

  • Multiline paste: normalize CR and CRLF line endings to LF before inserting pasted text or counting its lines. Korean text, emoji, cursor placement, editing, long-paste placeholders and prompt history now behave consistently across clipboard line-ending styles. Ordinary Enter handling is unchanged. #41, fixes #30.
  • Batch cancellation: when a session is cancelled, remaining calls in the current tool batch are recorded as unexecuted and are not started. Cancellation also takes precedence over normal completion of the batch. #40, fixes #17.
  • Interrupted generations and empty replies: recognize errors delivered inside an otherwise successful SSE response, including Infron's repetition_detected, and discard the interrupted sample instead of accepting it as a finished answer. Retry up to twice within that model turn with repetition_penalty: 1.05; if all three samples are cut off, use the existing no-action recovery path and its limits. A blank or whitespace-only chat reply also continues through recovery instead of silently ending the task. #38.

Shell timeout

Set --bash-timeout <seconds> or the bashTimeout setting to change the limit for shell commands whose tool call does not specify timeout_s. The default remains 120 seconds. An explicit timeout_s in a tool call still takes precedence. The setting is used by interactive and one-shot sessions, resumed runs and their subagents. Commit a5624b0.

Validation and scope

The release candidate passed all 1,653 tests across 97 files, type checking, build, tool-schema lint, and isolated tarball installation checks. All five jobs passed on both the version PR and the release commit on main: Node 20, Node 22, Linux ARM64, Python, and template goldens. The Python job retains five optional GPU-only skips. Packaged CLI checks cover both command aliases, normal replies, empty-reply recovery, and streaming retry with discarded partial tool calls.

The changed behavior was checked with deterministic offline transport fixtures, actual tool execution, regression tests and terminal checks. Live model testing is currently unavailable because the configured Infron endpoint is unavailable. We decided to merge and release these fixes because the affected parsing, retry, cancellation and paste-handling behavior can be verified without a live model. This release does not claim to restore Infron service or establish the real-model effectiveness of the retry penalty.

The npm CLI bundle includes the runtime fixes and shell-timeout setting above. The GitHub source also includes repetition-penalty-aware request hashing for the replay library, associated regression tests, and #39, which removes a wall-clock dependency from the insights test fixtures. The replay hashing change is source-library functionality, not a new npm CLI command. Private working-note paths were also added to .gitignore.

The broader MCP and skills roadmaps remain separate; this release does not claim that their remaining acceptance criteria are complete.

Upgrade

npm install -g motifcode@0.4.1
motif version

Requires Node.js 20.3 or later. Restart running Motif sessions after upgrading. Both motif and motifcode launch the same CLI.

Thanks to @nimbly1 for the paste fix and @adity982 for the cancellation fix.

Full changelog · npm package · Report an issue