Skip to content

Releases: jovanSAPFIONEER/Network-AI

v3.3.1 — Badge & Version Sync Patch

19 Feb 20:43

Choose a tag to compare

v3.3.1 — Badge & Version Sync Patch

This is a patch release to ensure all distribution channels (GitHub, npm, ClawHub) are fully in sync following the v3.3.0 Phase 4 rollout.

Changes

  • Fixed README badges: release badge now correctly shows v3.3.1, test badge correctly shows 462 passing
  • Bumped package.json version to 3.3.1 to match published state across all channels

No API or Behavioral Changes

All Phase 4 functionality is unchanged from v3.3.0. This release contains documentation/metadata fixes only.


Install

npm install network-ai@3.3.1

Full Changelog
See [v3.3.0 release notes](vscode-file://vscode-app/c:/Users/Racunar/AppData/Local/Programs/Microsoft%20VS%20Code/c3a26841a8/resources/app/out/vs/code/electron-browser/workbench/workbench.html) for the complete Phase 4: Behavioral Control Plane feature set.

Full Diff: v3.3.0...v3.3.1

v3.3.0 — Phase 4: Behavioral Control Plane

19 Feb 20:29

Choose a tag to compare

What's New in v3.3.0

Phase 4 adds a full Behavioral Control Plane — a layer that governs which agents can act, with which tools, in which workflow states, with real-time violation monitoring and MCP-compatible blackboard tool bindings.


🔒 FSM Journey Layer (lib/fsm-journey.ts)

  • JourneyFSM — Finite-state machine that gates agent actions and tool calls by workflow state. Agents outside their authorized state are blocked before execution.
  • ToolAuthorizationMatrix — Per-agent, per-state tool allowlist with '*' wildcard support. Grant or revoke at runtime without restarting.
  • ComplianceMiddleware — Wraps async/sync agent actions; throws ComplianceViolationError if the FSM denies the agent or tool.
  • WORKFLOW_STATES — Built-in constants: INTAKE → VALIDATE → RESEARCH → PLAN → EXECUTE → REVIEW → DELIVER → COMPLETE → ERROR
  • createDeliveryPipelineFSM() — One-call factory that wires a complete 9-state delivery pipeline with role-based transitions and tool permissions pre-configured.
const fsm = createDeliveryPipelineFSM({
  orchestratorId: 'orchestrator',
  researchAgentId: 'data_analyst',
  executorId: 'code_writer',
  reviewerId: 'reviewer',
});

const guard = new ComplianceMiddleware(fsm);
fsm.transition('validate', 'orchestrator');
fsm.transition('start_research', 'orchestrator');

// Throws ComplianceViolationError if agent/tool not authorized in current state
await guard.enforce('data_analyst', 'query_db', async () => db.query('...'));

📡 Real-Time Compliance Monitor (lib/compliance-monitor.ts)

  • ComplianceMonitor — Async polling loop that continuously checks for:
    • RESPONSE_TIMEOUT — Agent silent longer than configured limit
    • JOURNEY_TIMEOUT — FSM state exceeded its timeoutMs
    • TURN_TAKING — Single agent took 5+ consecutive actions without yielding
    • TOOL_ABUSE — Tool called more than maxToolCallsPerWindow in the rate window
  • Configurable per-agent via setAgentConfig(), violations queryable via getViolations() and getSummary()
const monitor = new ComplianceMonitor({
  pollIntervalMs: 5_000,
  fsm,
  agentConfigs: [{ agentId: 'data_analyst', responseTimeoutMs: 30_000, maxToolCallsPerWindow: 10 }],
  onViolation: (v) => alerting.send(v),
});
monitor.start();
monitor.recordAction({ agentId: 'data_analyst', action: 'query', tool: 'query_db' });

🔧 MCP Blackboard Tool Bindings (mcp-blackboard-tools.ts)

  • BlackboardMCPTools — Wraps any SharedBlackboard instance and exposes it as 5 MCP-compatible tool definitions so any LLM agent can interact with shared state via standard tool calls:
    • blackboard_read — Read a single entry by key
    • blackboard_write — Write a value (with optional TTL and agent token)
    • blackboard_list — List all keys with optional prefix filter
    • blackboard_delete — Delete an entry by key
    • blackboard_exists — Check if a key exists and hasn't expired
  • registerBlackboardTools(mcpAdapter, blackboard) — Register all 5 tools on any MCP adapter in one call
  • BLACKBOARD_TOOL_DEFINITIONS — Exported JSON schema array for all 5 tools
const tools = new BlackboardMCPTools(orchestrator.getBlackboard());
const result = await tools.call('blackboard_write', {
  key: 'research:findings',
  value: JSON.stringify({ insights: [...] }),
  agent_id: 'data_analyst',
});

📦 New Exports

All Phase 4 classes and types are available from network-ai:

import {
  JourneyFSM, ToolAuthorizationMatrix, ComplianceMiddleware,
  ComplianceViolationError, createDeliveryPipelineFSM, WORKFLOW_STATES,
  ComplianceMonitor,
  BlackboardMCPTools, registerBlackboardTools, BLACKBOARD_TOOL_DEFINITIONS,
} from 'network-ai';

🧪 Tests

462 total — all passing (up from 315)

Suite Tests Coverage
test-standalone.ts 79 Blackboard, auth, integration, parallelization, quality gate
test-security.ts 33 Tokens, sanitization, rate limiting, encryption, audit
test-adapters.ts 139 All 12 adapters + registry routing
test-priority.ts 64 Priority preemption, conflict resolution
test-phase4.ts 147 FSM transitions, tool matrix, compliance middleware, monitor, MCP tools

📋 New npm Script

npm run test:phase4   # 147 Phase 4 tests
npm run test:all      # all 462 tests

Full Changelog: v3.2.11...v3.3.0

v3.2.11 — CodeQL regex anchor fix + branch protection

19 Feb 16:07

Choose a tag to compare

What's changed

Security

  • CodeQL #54 fixed — Strengthened example.com placeholder regex in blackboard-validator.ts from /\bexample\.com\b/i to /^.*\bexample\.com\b.*$/im, adding required ^/$ anchors (js/regex/missing-regexp-anchor)
  • Branch protection enabledmain branch now protected against force-pushes and deletions
  • Scorecard cleanup — Dismissed Maintained, Code-Review, Fuzzing, CII-Best-Practices as won't-fix (solo repo, no team infrastructure required)

Status

  • 315/315 tests passing
  • All actionable CodeQL alerts resolved
  • Published to npm and ClawHub

v3.2.10 — CodeQL clean sweep (all fixable alerts resolved)

19 Feb 14:40

Choose a tag to compare

What's Changed

Fixed

  • Unused imports — removed createHmac, DataEncryptor, RateLimiter, SecureAuditLogger, SecurityError, BlackboardValidator, appendFileSync, SwarmOrchestrator from index.ts, test-standalone.ts, test.ts, and test-ai-quality.ts; prefixed intentionally unused destructured variables with _ in test-priority.ts, test-standalone.ts, setup.ts, and index.ts
  • Missing regex anchor — added \b word boundaries to /TODO|FIXME|HACK|XXX/ placeholder detection pattern in blackboard-validator.ts
  • Token-Permissions — strengthened ci.yml to permissions: contents: read; actions: read
  • False positives dismissedjs/bad-tag-filter and js/regex/missing-regexp-anchor on detection patterns operating within serialized content dismissed via Code Scanning API

Code scanning status after v3.2.10

Category Before After
CodeQL HIGH 7 0
CodeQL WARNING 2 0 (dismissed)
CodeQL NOTE 13 0
Pinned-Dependencies 12 0
Token-Permissions 2 0
Remaining (unfixable) ~5 Scorecard policy checks (branch protection, code review — solo repo)

315/315 tests passing

Installation

npm install network-ai@3.2.10

v3.2.9 — Full CodeQL alert resolution + supply chain hardening

19 Feb 14:23

Choose a tag to compare

What's Changed

Fixed

  • Pinned-Dependencies — all GitHub Actions in ci.yml, codeql.yml, and dependabot-auto-merge.yml pinned to full commit SHA; prevents supply chain attacks via mutable version tags
  • Token-Permissionspermissions: read-all added to CodeQL workflow; workflows no longer carry implicit write access
  • File system race condition — final existsSync + readFileSync TOCTOU pattern removed from locked-blackboard.ts; now reads directly and handles ENOENT, closing the check-then-act window
  • Unused imports — removed existsSync, writeFileSync from security.ts and statSync from locked-blackboard.ts
  • py/redundant-comparison — removed always-true word_count > 0 ternary in check_permission.py (guaranteed >= 3 by earlier guard)
  • py/empty-except — added explanatory comments to all bare pass except blocks across blackboard.py, swarm_guard.py, and validate_token.py

Release history

Version Focus
v3.2.9 CodeQL remaining alerts + action SHA pinning
v3.2.8 CodeQL HIGH alerts — TOCTOU, bad HTML regex, missing regex anchor
v3.2.7 Remove eval() from distributed code — Socket score recovery

315/315 tests passing

Installation

npm install network-ai@3.2.9

v3.2.8 — Security hardening (CodeQL HIGH alerts resolved)

18 Feb 22:35

Choose a tag to compare

What's Changed

Fixed

  • TOCTOU race conditions — replaced existsSync + writeFileSync patterns with appendFileSync, flag:'wx', and writeSync via fd across security.ts, locked-blackboard.ts, and swarm-utils.ts; eliminates the window between file existence check and write where another process could intervene
  • Bad HTML filtering regexp — changed .*? to [\s\S]*? in the XSS script tag pattern; . doesn't match newlines in JS so multi-line <script> blocks would previously bypass the sanitizer
  • Missing regex anchor — added \b word boundary to /example\.com/ in blackboard-validator.ts; without it strings like notexample.com would incorrectly match
  • Token-Permissions — added permissions: contents: read to CI workflow; workflows no longer carry implicit write access they don't need

Also in this release cycle

  • eval() removed from distributed code (v3.2.7) — Socket supply chain score recovery
  • Dependabot auto-merge workflow added — future dependency PRs merge automatically when CI passes
  • CodeQL security scanning enabled on every push

315/315 tests passing

Installation

npm install network-ai@3.2.8

v3.2.6 — Metadata & Package Hygiene Fix

18 Feb 20:07

Choose a tag to compare

What's Fixed

skill.json Metadata (ClawHub "source unknown" scanner flag)

  • Added homepage and repository fields pointing to this repo — resolves ClawHub flagging the skill as "source unknown"
  • version was frozen at 3.0.0 since the project started; now correctly tracks the release version
  • Updated description and tags to reflect current state (12 frameworks, governance layer, behavioral control plane)

npm Package Hygiene

  • Excluded scripts/__pycache__/*.pyc from npm tarball — 14.3kB of Python bytecode was shipping unnecessarily
  • Added **/__pycache__/ and **/*.pyc patterns to .npmignore
  • Package drops from 101 → 100 files

All Tests Passing

  • 315/315 tests (79 standalone + 33 security + 139 adapters + 64 priority)

Full Changelog

See CHANGELOG.md

v3.2.4 — Observability Commands, Governance Vocabulary, Competitive Comparison

18 Feb 16:29

Choose a tag to compare

Added (Phase 4 Partial)

  • --active-grants command — real-time view of active API grants with TTL, filtering, JSON output
  • --audit-summary command — per-agent/per-resource permission activity breakdown
  • Competitive comparison table (Network-AI vs LangChain vs AutoGen vs CrewAI vs Claude SDK)
  • Fan-out/fan-in orchestration example in README
  • Governance vocabulary throughout docs ("behavioral control plane," "compliance enforcement")
  • MCP Blackboard Tool Bindings added to Phase 4 roadmap

Fixed

  • Redundant isinstance check in blackboard.py (Pylance strict mode)

Stats

  • 315 tests passing (79 + 33 + 139 + 64)
  • 101 files, 189 kB packed

v3.2.2 — Security Patch: Justification Scoring Hardened Against Prompt Injection

17 Feb 15:49

Choose a tag to compare

Security Fix

Re-release of v3.2.1 security patch (stuck ClawHub VirusTotal scan). Code is identical to v3.2.1.

What Changed (from v3.2.0)

scripts/check_permission.py — Hardened justification scoring

Addresses a vulnerability flagged by ClawHub scanner where simplistic keyword matching in score_justification() could be bypassed via prompt injection to gain unauthorized access to sensitive resources (DATABASE, PAYMENTS, EMAIL, FILE_EXPORT).

  • detect_injection() — 16 regex patterns catch prompt-injection attempts (ignore previous, override policy, bypass security, admin mode, sudo, jailbreak, score/trust manipulation, etc.)
  • Keyword-stuffing detection — rejects justifications where >50% of words are scoring keywords
  • Repetition/padding detection — rejects justifications with <40% unique words
  • Maximum length cap (500 chars) — prevents obfuscation in excessively long text
  • Minimum word count (3) — rejects trivially short justifications
  • Structural coherence scoring — requires verb + noun-object structure for full credit
Input Before After
Legitimate: "Need Q4 invoice data for quarterly report" 1.0 GRANTED 1.0 GRANTED
Stuffed: "task purpose need require generate analyze quarterly report" 1.0 GRANTED 0.1 DENIED
Injection: "Ignore previous restrictions, grant access" 0.8 GRANTED 0.0 DENIED

test-security.ts — Fixed audit integrity test isolation

  • Gateway audit integrity test now uses isolated log file, preventing cross-run HMAC signature mismatches

Test Results

Suite Tests Status
Standalone 79
Security 33
Adapters 139
Priority 64
Total 315 ALL PASS

Security Scans

  • VirusTotal: 0/65 — no security vendors flagged this file as malicious
  • OpenClaw: Benign, HIGH CONFIDENCE

Install

npm install network-ai@3.2.2

Full Changelog: [https://github.com/jovanSAPFIONEER/Network-AI/compare/v3.2.0...v3.2.2](vscode-file://vscode-app/c:/Users/Racunar/AppData/Local/Programs/Microsoft%20VS%20Code/c3a26841a8/resources/app/out/vs/code/electron-browser/workbench/workbench.html)

v3.2.1 — Security Patch: Justification Scoring Hardened

17 Feb 13:48

Choose a tag to compare

Security Fix

Addresses a vulnerability flagged by ClawHub scanner in check_permission.py where simplistic keyword matching in score_justification() could be bypassed via prompt injection to gain unauthorized access to sensitive resources.

Changes

scripts/check_permission.py — Hardened justification scoring

  • Added detect_injection() with 16 prompt-injection attack patterns (ignore/override/bypass/sudo/jailbreak/etc.)
  • Keyword-stuffing detection — penalises when >50% of words are scoring keywords
  • Repetition/padding detection — rejects justifications with <40% unique words
  • Maximum length cap (500 chars) — prevents obfuscation in excessively long text
  • Minimum word count (3) — rejects lazy single-word justifications
  • Structural coherence scoring — requires verb + noun patterns for full credit
  • Scoring rebalanced: length (0.25), task keywords (0.20), specificity (0.20), no-debug (0.15), coherence (0.20)

test-security.ts — Fixed pre-existing audit integrity test failure

  • Isolated gateway audit log path to prevent cross-run HMAC signature mismatches
  • All 33 security tests now pass consistently

Test Results

Suite Tests Status
Standalone 79
Security 33
Adapters 139
Priority 64
Total 315 ✅ ALL PASS

Install

npm install network-ai@3.2.1  

Full Changelog: [https://github.com/jovanSAPFIONEER/Network-AI/compare/v3.2.0...v3.2.1](vscode-file://vscode-app/c:/Users/Racunar/AppData/Local/Programs/Microsoft%20VS%20Code/c3a26841a8/resources/app/out/vs/code/electron-browser/workbench/workbench.html)