v3.3.0 — Phase 4: Behavioral Control Plane #23
Jovancoding
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
-
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; throwsComplianceViolationErrorif the FSM denies the agent or tool.WORKFLOW_STATES— Built-in constants:INTAKE → VALIDATE → RESEARCH → PLAN → EXECUTE → REVIEW → DELIVER → COMPLETE → ERRORcreateDeliveryPipelineFSM()— One-call factory that wires a complete 9-state delivery pipeline with role-based transitions and tool permissions pre-configured.📡 Real-Time Compliance Monitor (
lib/compliance-monitor.ts)ComplianceMonitor— Async polling loop that continuously checks for:RESPONSE_TIMEOUT— Agent silent longer than configured limitJOURNEY_TIMEOUT— FSM state exceeded itstimeoutMsTURN_TAKING— Single agent took 5+ consecutive actions without yieldingTOOL_ABUSE— Tool called more thanmaxToolCallsPerWindowin the rate windowsetAgentConfig(), violations queryable viagetViolations()andgetSummary()🔧 MCP Blackboard Tool Bindings (mcp-blackboard-tools.ts)
BlackboardMCPTools— Wraps anySharedBlackboardinstance 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 keyblackboard_write— Write a value (with optional TTL and agent token)blackboard_list— List all keys with optional prefix filterblackboard_delete— Delete an entry by keyblackboard_exists— Check if a key exists and hasn't expiredregisterBlackboardTools(mcpAdapter, blackboard)— Register all 5 tools on any MCP adapter in one callBLACKBOARD_TOOL_DEFINITIONS— Exported JSON schema array for all 5 tools📦 New Exports
All Phase 4 classes and types are available from
network-ai:🧪 Tests
462 total — all passing (up from 315)
📋 New
npmScriptFull Changelog:
v3.2.11...v3.3.0This discussion was created from the release v3.3.0 — Phase 4: Behavioral Control Plane.
Beta Was this translation helpful? Give feedback.
All reactions