Skip to content

V3 Security, Backward Compat & Agent Teams Hooks#1128

Merged
ruvnet merged 363 commits intomainfrom
rebrand/ruvflow-umbrella
Feb 13, 2026
Merged

V3 Security, Backward Compat & Agent Teams Hooks#1128
ruvnet merged 363 commits intomainfrom
rebrand/ruvflow-umbrella

Conversation

@ruvnet
Copy link
Owner

@ruvnet ruvnet commented Feb 12, 2026

Summary

  • Security: Remove sqlite3 and bcrypt dependency chains, eliminating 10 HIGH severity vulnerabilities and 73+ transitive packages (closes Security vulnerabilities #1091)
  • Backward Compatibility: Older settings.json hook configs no longer error on missing --success flag
  • Agent Teams: Init generator now includes TeammateIdle and TaskCompleted hooks for multi-agent coordination
  • ESM Fix: Rename helper scripts from .js to .cjs for CommonJS compatibility with "type": "module" root

Security Fixes (Issue #1091)

Vulnerability Chain Eliminated

BEFORE:
claude-flow → bcrypt → @mapbox/node-pre-gyp → tar@6.2.1 (10 HIGH CVEs)
@claude-flow/memory → agentdb → sqlite3 → node-gyp → tar@6.2.1

AFTER:
claude-flow → (bcrypt removed, never used in umbrella)
@claude-flow/memory → agentdb@2.0.0-alpha.3.5 → (sqlite3 removed, sql.js WASM is actual backend)
Metric Before After
HIGH vulnerabilities 10 0
Deprecation warnings 11 4 (upstream agentic-flow only)
Transitive packages removed 73+

Package Updates

Package Version Change
agentdb 2.0.0-alpha.3.5 Removed sqlite3 from optionalDeps
@claude-flow/memory 3.0.0-alpha.9 Pinned agentdb@2.0.0-alpha.3.5
@claude-flow/cli 3.1.0-alpha.34 Backward compat + version bump
claude-flow 3.1.0-alpha.34 Removed bcrypt, pinned agentdb

Backward Compatibility

Older settings.json configurations that call CLI hooks without --success flag now work without errors:

// OLD CONFIG (still works now):
"command": "npx claude-flow@alpha hooks post-edit --file '{}' --format true --update-memory true"
// Previously: [ERROR] Required option missing: --success
// Now: defaults --success to true

Changes in hooks.ts

Hook Fix
pre-edit --file defaults to 'unknown' instead of erroring
post-edit --success defaults to true, --file defaults to 'unknown'
post-command --success defaults to true
post-task --success defaults to true

Rationale: PostToolUse hooks fire on success (Claude Code convention), so defaulting to true is semantically correct. PostToolUseFailure is used for failures.


Agent Teams Hooks

Added TeammateIdle and TaskCompleted to the init settings generator so npx claude-flow init produces configs with full Agent Teams support:

// TeammateIdle — auto-assign pending tasks to idle teammates
hooks.TeammateIdle = [{
  hooks: [{
    type: 'command',
    command: 'node .claude/helpers/hook-handler.cjs post-task',
    timeout: 5000,
  }],
}];

// TaskCompleted — train patterns and record completion
hooks.TaskCompleted = [{
  hooks: [{
    type: 'command',
    command: 'node .claude/helpers/hook-handler.cjs post-task',
    timeout: 5000,
  }],
}];

ESM Compatibility Fix

Root package.json has "type": "module", causing .js files to be parsed as ESM. Helper scripts use require() (CommonJS), so they must use .cjs extension:

  • .claude/helpers/router.jsrouter.cjs
  • .claude/helpers/session.jssession.cjs
  • .claude/helpers/memory.jsmemory.cjs
  • hook-handler.cjs updated to reference .cjs files

New Capabilities Overview

Claude Code Agent Teams Integration

  • TeamCreate, TaskCreate/TaskList/TaskUpdate, SendMessage tools
  • CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 env var enabled by init
  • Hook-based coordination: TeammateIdle, TaskCompleted, SubagentStart
  • Background agent spawning with run_in_background: true

Cross-Platform Hook System

  • All hooks use node .claude/helpers/hook-handler.cjs <command>
  • No bash-specific syntax (no 2>/dev/null, no /bin/bash -c)
  • Works identically on Windows, macOS, and Linux
  • Unified dispatcher with graceful module loading via safeRequire()

Intelligence Layer

  • intelligence.cjs — Pattern matching from MEMORY.md files
  • router.cjs — Agent routing by task keyword patterns
  • session.cjs — Cross-platform session persistence
  • memory.cjs — Simple key-value memory store
  • PageRank context, Jaccard similarity, edit tracking

Memory Architecture

  • Primary: sql.js (WASM, zero native deps, cross-platform)
  • Optional: better-sqlite3 (native, faster, graceful fallback)
  • HNSW indexing for 150x-12,500x faster vector search
  • Learning bridge, memory graph, agent scopes

Published Packages

All packages verified on npm with npm audit showing 0 vulnerabilities:

  • npx claude-flow@alpha3.1.0-alpha.34
  • npx @claude-flow/cli@alpha3.1.0-alpha.34
  • npm install @claude-flow/memory@alpha3.0.0-alpha.9

Test plan

  • hooks post-task without --success → exit 0
  • hooks post-edit without --success → exit 0
  • hooks post-command without --success → exit 0
  • hooks pre-edit without --file → exit 0
  • hooks post-task --success true → still works (regression)
  • hooks post-edit --success false → still works (regression)
  • Old-style cat | jq | xargs piped hooks → work end-to-end
  • hook-handler.cjs post-task[OK] Task completed
  • hook-handler.cjs post-edit[OK] Edit recorded
  • npm install claude-flow@3.1.0-alpha.34 → 0 vulnerabilities
  • npm install @claude-flow/memory@3.0.0-alpha.9 → 0 vulnerabilities
  • npm ls tar → not in dependency tree
  • npm ls sqlite3 → not in dependency tree
  • Init generator includes TeammateIdle/TaskCompleted hooks
  • Helper .cjs files load correctly with safeRequire()

🤖 Generated with claude-flow

ruvnet and others added 30 commits February 8, 2026 17:16
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:16:25Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:17:48Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:18:44Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:20:40Z
- Changes: 7 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:20:42Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:20:45Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:21:21Z
- Changes: 3 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:21:23Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:21:24Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:21:25Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:28:32Z
- Changes: 8 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:28:33Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:28:41Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:28:42Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:28:49Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:31:20Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:35:33Z
- Changes: 5 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:52:17Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:52:29Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:52:38Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T17:53:15Z
- Changes: 2 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T20:39:45Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T20:39:54Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T20:40:34Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T20:40:39Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T20:41:40Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T20:41:52Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T20:42:38Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T21:20:16Z
- Changes: 6 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-08T21:20:20Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
ruvnet and others added 29 commits February 10, 2026 21:05
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:05:03Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:05:44Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:05:57Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:06:14Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:06:39Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:06:51Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:07:01Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:07:18Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-10T21:07:27Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T20:54:14Z
- Changes: 20 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T20:54:30Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T20:55:39Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T20:56:09Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T20:56:15Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T20:59:12Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T21:05:13Z
- Changes: 5 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T22:50:34Z
- Changes: 7 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T22:50:47Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T22:50:57Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T22:51:03Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T22:52:01Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Automatic checkpoint created by Claude Code
- Branch: rebrand/ruvflow-umbrella
- Timestamp: 2026-02-11T22:52:39Z
- Changes: 1 file(s)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Remove sqlite3 and bcrypt from dependency chain (closes #1091)
  - Eliminates 10 HIGH severity vulnerabilities (tar@6.2.1 CVEs)
  - Removes 73+ packages from install footprint
  - Pin agentdb@2.0.0-alpha.3.5 in memory and umbrella packages

- Add backward compatibility for older settings.json configs
  - Default --success to true in post-edit, post-command, post-task
  - Default --file to 'unknown' in pre-edit, post-edit
  - Old hook configs no longer error with "Required option missing"

- Add Agent Teams hooks to init settings generator
  - TeammateIdle: auto-assign pending tasks to idle teammates
  - TaskCompleted: train patterns and record completion

- Rename helpers from .js to .cjs for ESM compatibility
  - Root package.json has "type": "module", .js files parse as ESM
  - .cjs extension ensures CommonJS require() works correctly

Published: @claude-flow/cli@3.1.0-alpha.34, claude-flow@3.1.0-alpha.34,
@claude-flow/memory@3.0.0-alpha.9

Co-Authored-By: claude-flow <ruv@ruv.net>
Regenerate package-lock.json and pnpm-lock.yaml to match
updated agentdb dependency. Fixes CI failures where npm ci
and pnpm --frozen-lockfile rejected the version mismatch.

Co-Authored-By: claude-flow <ruv@ruv.net>
- @claude-flow/shared: Add helmet, express, cors, ws as devDeps
  (needed for pnpm strict hoisting in CI). Remove obsolete
  @types/helmet (helmet v7+ ships own types)

- @claude-flow/integration: Fix TS2339 for agentic-flow VERSION
  export removed upstream. Use bracket notation to bypass
  compile-time check (runtime already handled gracefully)

- @claude-flow/testing: Add explicit Mock type annotations to
  vi.fn() fields to fix TS2742 portable type inference errors

All 20 V3 packages now build clean with pnpm -r build.

Co-Authored-By: claude-flow <ruv@ruv.net>
agentdb@2.0.0-alpha.3.6 includes:
- CLI Commander parsing fix (resolves "unknown command 'node'" error)
- LLM Router (FastGRNN-based intelligent model selection)
- Hyperbolic geometry (Poincare ball operations)
- Curriculum learning (hard negative mining, contrastive loss)

Published: claude-flow@3.1.0-alpha.35, @claude-flow/cli@3.1.0-alpha.35,
@claude-flow/memory@3.0.0-alpha.10

Co-Authored-By: claude-flow <ruv@ruv.net>
The command parser enforces `required: true` on option specs BEFORE
the action function runs, so defaulting values in the action was
insufficient. Changed 5 option specs from required to optional:
- pre-edit: --file (defaults to 'unknown')
- post-edit: --file (defaults to 'unknown'), --success (defaults to true)
- post-command: --success (defaults to true)
- post-task: --success (defaults to true)

This enables Claude Code hooks to call these commands without explicit
flags, matching the PostToolUse convention where success is implied.

Published as @claude-flow/cli@3.1.0-alpha.36 and claude-flow@3.1.0-alpha.36.

Co-Authored-By: claude-flow <ruv@ruv.net>
Co-Authored-By: claude-flow <ruv@ruv.net>
- Remove unpublished optional deps from gastown-bridge (gastown-formula-wasm,
  ruvector-gnn-wasm) that caused npm 11 to crash with "Invalid Version:"
- Bump agentdb 2.0.0-alpha.3.6 -> 3.7 (pins @ruvector/gnn@0.1.23 with all
  platform binaries published)
- Bump agentic-flow ^2.0.1-alpha.80 -> ^2.0.7 (pins @ruvector/tiny-dancer@0.1.17
  with linux-arm64-gnu stub published)
- Bump gastown-bridge ^0.1.2 -> ^0.1.3
- Version bump to 3.1.0-alpha.39

Published packages: gastown-bridge@0.1.3, agentdb@2.0.0-alpha.3.7,
agentic-flow@2.0.7, @ruvector/gnn platform stubs @0.1.22+0.1.23,
@ruvector/tiny-dancer-linux-arm64-gnu@0.1.16+0.1.17,
@claude-flow/cli@3.1.0-alpha.39, claude-flow@3.1.0-alpha.39

Co-Authored-By: claude-flow <ruv@ruv.net>
@ruvnet ruvnet merged commit 8165576 into main Feb 13, 2026
18 of 24 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Security vulnerabilities

1 participant