V3 Security, Backward Compat & Agent Teams Hooks#1128
Merged
Conversation
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>
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>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
--successflagTeammateIdleandTaskCompletedhooks for multi-agent coordination.jsto.cjsfor CommonJS compatibility with"type": "module"rootSecurity Fixes (Issue #1091)
Vulnerability Chain Eliminated
Package Updates
agentdb2.0.0-alpha.3.5@claude-flow/memory3.0.0-alpha.9@claude-flow/cli3.1.0-alpha.34claude-flow3.1.0-alpha.34Backward Compatibility
Older
settings.jsonconfigurations that call CLI hooks without--successflag now work without errors:Changes in
hooks.tspre-edit--filedefaults to'unknown'instead of erroringpost-edit--successdefaults totrue,--filedefaults to'unknown'post-command--successdefaults totruepost-task--successdefaults totrueRationale:
PostToolUsehooks fire on success (Claude Code convention), so defaulting totrueis semantically correct.PostToolUseFailureis used for failures.Agent Teams Hooks
Added
TeammateIdleandTaskCompletedto the init settings generator sonpx claude-flow initproduces configs with full Agent Teams support:ESM Compatibility Fix
Root
package.jsonhas"type": "module", causing.jsfiles to be parsed as ESM. Helper scripts userequire()(CommonJS), so they must use.cjsextension:.claude/helpers/router.js→router.cjs.claude/helpers/session.js→session.cjs.claude/helpers/memory.js→memory.cjshook-handler.cjsupdated to reference.cjsfilesNew Capabilities Overview
Claude Code Agent Teams Integration
TeamCreate,TaskCreate/TaskList/TaskUpdate,SendMessagetoolsCLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1env var enabled by initTeammateIdle,TaskCompleted,SubagentStartrun_in_background: trueCross-Platform Hook System
node .claude/helpers/hook-handler.cjs <command>2>/dev/null, no/bin/bash -c)safeRequire()Intelligence Layer
intelligence.cjs— Pattern matching from MEMORY.md filesrouter.cjs— Agent routing by task keyword patternssession.cjs— Cross-platform session persistencememory.cjs— Simple key-value memory storeMemory Architecture
sql.js(WASM, zero native deps, cross-platform)better-sqlite3(native, faster, graceful fallback)Published Packages
All packages verified on npm with
npm auditshowing 0 vulnerabilities:npx claude-flow@alpha→3.1.0-alpha.34npx @claude-flow/cli@alpha→3.1.0-alpha.34npm install @claude-flow/memory@alpha→3.0.0-alpha.9Test plan
hooks post-taskwithout--success→ exit 0hooks post-editwithout--success→ exit 0hooks post-commandwithout--success→ exit 0hooks pre-editwithout--file→ exit 0hooks post-task --success true→ still works (regression)hooks post-edit --success false→ still works (regression)cat | jq | xargspiped hooks → work end-to-endhook-handler.cjs post-task→[OK] Task completedhook-handler.cjs post-edit→[OK] Edit recordednpm install claude-flow@3.1.0-alpha.34→ 0 vulnerabilitiesnpm install @claude-flow/memory@3.0.0-alpha.9→ 0 vulnerabilitiesnpm ls tar→ not in dependency treenpm ls sqlite3→ not in dependency tree.cjsfiles load correctly withsafeRequire()🤖 Generated with claude-flow