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