v3.38.13

ruvnet/ruflov3.38.13Aug 21, 2026by ruvnet

AI Summary

Fixes statusline performance, colon-agent routing, and YAML syntax issues, and introduces a new DeepSeek harness plugin.

Key Highlights

  • Added new `plugins/ruflo-deepseek-harness` plugin with reasoning support for chat and reasoning modes.
  • Fixed statusline `getGitInfo()` to use a 5s TTL cache to prevent subprocess pileup.
  • Fixed colon-namespaced plugin agents (e.g., `ruflo-core:reviewer`) from being dropped in `hooks post-task`.
  • Fixed YAML syntax error in SKILL.md that broke `npx skills add`.

New Features

  • New plugin `ruflo-deepseek-harness`.

Full Release Notes

Bug-fix train + one new plugin. All three npm packages published as 3.38.13 (latest + alpha + v3alpha).

## Bug fixes

- **#3045** — `.claude/helpers/statusline.cjs` `getGitInfo()` ran the 5-command git chain uncached on every render, queuing subprocesses faster than they finished on large repos with concurrent Claude Code sessions. Now wrapped in a per-cwd tmp-file cache with 5s TTL — dirty status still feels live, pileup is bounded.
- **#3064** — `hooks post-task` silently dropped every colon-namespaced plugin agent (`ruflo-core:reviewer`, `feature-dev:code-explorer`, …). Removed the narrow ad-hoc regex; the canonical `validateIdentifier()` upstream already allows `:` and `.`. Regression test locks in 4 shape variants and is proven to catch the bug (2/4 fail on revert; 4/4 with the fix).
- **#3065** — `plugins/ruflo-metaharness/skills/harness-gepa/SKILL.md` had an unquoted colon in `description` that broke `npx skills add`. Quoted the field and rephrased the bare `(default:` to avoid the leading colon.

## New plugin

- **`plugins/ruflo-deepseek-harness/`** — sibling to `ruflo-metaharness` (ADR-150 shape). Two skills — `deepseek-chat` (non-reasoning) and `deepseek-reason` (surfaces `reasoning_content` separately from the final answer). Reads `DEEPSEEK_API_KEY`; degrades gracefully (`{status: 'degraded', reason, hint}` with exit 0) when the key is missing or the API is unreachable. `--alert-on-error` opts into hard exit 1 for CI gates.

## Not fixed

- **#3051** (`memory_store` tags dropped) — current source's handler passes `tags` straight through to `storeEntry`; a maintainer already verified round-trip works on `fa13ee4ad`. Waiting on the reporter's `ruflo`/`@claude-flow/cli` version to identify the affected release path before patching.

## Install

- `npx ruflo@latest` (or `@alpha` / `@v3alpha` for the legacy tags, all aligned)
- `npx @claude-flow/cli@latest` / `npx claude-flow@latest`

## Merged PR

Closes #3045, #3064, #3065 — [#3078](https://github.com/ruvnet/ruflo/pull/3078)

🤖 Generated with [RuFlo](https://github.com/ruvnet/ruflo)

https://claude.ai/code/session_0118jMsYhwHD5dx2vStENsEB