NV Digital Open Operator System (NVoOS)
Version: 1.2.10 Release Date: 2026-10-23
See ยง Release History for the 12 most recent releases; every older release is in the Previous Releases table. Full detail: CHANGELOG.md.
๐ v1.2.10 Highlights: Console migration Phase 5bโ5d (Proposal 084) + console polish, crash fixes, a real transcript-storage meter, and a dependency advisory sweep. Phase 5bโ5d (PR #7180) โ the orphaned cost/analytics REST controllers register (real Analytics page), the Unified Blueprints catalogue bridges behind mcp-ai-pro/v1/blueprints, the Command Center absorbs into the Dashboard, and the console gains a semantic DataTable + grouped collapsible sidebar. Crash fixes (PR #7184) โ the blueprints 500 (admin-context class gating), React error #310 on four console pages (a permanent rules-of-hooks ESLint gate), a reworked settings page, and chat dock UX. Storage meter (PR #7185) โ the status bar reads real server transcript storage via the new storage_bytes envelope field. Dependencies (PR #7186) โ markdown-it 14.3.3, MCP SDK 1.32.0, launch-editor 2.14.2 (14 of 16 alerts). Build (PR #7182) โ full tracked-bundle rebuild after lockfile movement. Docs (PRs #7183, #7178) โ rebuild discipline codified in the spa-ui/dependabot skills; Cloudways Anti-Bot Protection playbook. Tool count: ~355 base + ~1,377 Pro (~1,731 total; unchanged).
MCP Specification: 2026-07-28 (Stateless Core, Full Compliance)
Maintained by NV Digital
License: GPLv3 or later
Requires: WordPress 6.0+, PHP 7.4+
Patent Status: Patent Pending (Application #19/410,504)
Documentation: Grade A (95/100) โ 1,617 files across 12 directories, 108 admin screenshots, 100% feature coverage
๐ For Reviewers & Auditors
New to this repo? Start here โ
docs/project/FOR_REVIEWERS.mdThat document answers every common question in one place: what the project is, current security posture, what's production vs experimental, PHP version requirements, AI development methodology, compliance status, and scoping advice for a limited-budget review.
Quick links for reviewers:
- Addon Inventory โ what each of 30 addons does and its status
- Security Posture โ current state of all 50 audit findings
- Compliance Traceability โ every .org rejection reason โ commit โ verification command
- AI-Assisted Development โ methodology, transparency, and what to scrutinize
- Architecture Overview โ component diagram and data flow
๐ Table of Contents
Getting Started
- ๐งฉ Overview
- ๐ฏ Our Mission
- ๐ก๏ธ Active Security Monitoring
- โ ๏ธ Warranty & Safe Use
- ๐ System Architecture
- ๐ Features
- ๐ฆ Installation
- ๐ What You Lose Without Third-Party Plugins
- โ๏ธ Configuration Checklist
- ๐ Documentation
Core Functionality
- ๐ง Memory & Tool Stack Overview
- ๐ Built-in tools & automations
- ๐จ๏ธ Front-end chat surfaces
- ๐ฌ Frontend Shortcode
Addons & Extensions
Orchestration & AI Features
AI Providers & Integration
- ๐ง Language Model Providers
- ๐งฑ ChatKit Integration
- ๐ Crawl4AI Integration
- ๐ก Job Notification System
- ๐ง Elementor Widgets
Performance & Optimization
- โก Message Bundling
- ๐ฏ Agentic Loop Token Management
- ๐ Chat Performance Optimizations
- ๐ Mesh Compute Routing
- ๐ Federation & Discovery System
Remote MCP Setup
- ๐ MCP Server Authentication
- ๐ Connecting Remote MCP Clients
- ๐ฐ REST API Endpoints
- ๐ SSE Streaming Support
- ๐ MCP JSON-RPC 2.0 Endpoint
- ๐ Assistant API Credentials
- ๐ซ Token Management UI
Assistant Management
- ๐ Assistant Editor Overview
- ๐ Assistant Storage: CPT vs CCT
- โก Assistant Tool Shortcuts
- ๐ง Agent Skills
- ๐ Professional & Team Layers
- ๐งต REST Chat Payloads & Attachments
Development
- ๐ณ Local Development with Docker
- ๐งโ๐ป Development Tooling
- ๐ฆ NPM Packages
- ๐งช Testing & QA
- ๐งฉ Hooks & Filters
- ๐งฐ WP-CLI Commands
Reference
- ๐ JetEngine Capability Reference
- ๐ฐ JetEngine REST API Reference
- ๐งฎ Usage Tracking
- ๐งท Attachment MIME Controls
- ๐งพ Logging
- ๐งพ JetEngine REST Endpoint Report Helper
- ๐ Optional Tools & Dependencies
- โ Manual QA Scenarios
Changelog
Sponsor & Support
๐บ Repository Map
๐งฉ Overview
Real-time AI Orchestration Toolkit / Harness for Wordpress - NV oOS is a modular AI framework (Object-Oriented System) for WordPress that connects your site's data with 18 language-model providers: OpenAI, Gemini, Anthropic, DeepSeek, OpenRouter, Baseten, Kimi (Moonshot), Z.AI (GLM), DigitalOcean, NVIDIA NIM, Cloudflare Worker AI, Azure, Ollama, LM Studio, Hugging Face, and TypeSafe Jev (decision-only), plus local WebLLM and embedded engines. It allows you to create and manage AI Assistants that can interact with users, access WordPress data, and perform custom tool functions.
โจ What's New at a Glance (v1.2.10)
- ๐งญ Console migration Phase 5bโ5d + console polish (Proposal 084, PR #7180). The orphaned cost/analytics REST controllers now register in
includes/bootstrap/loader.phpand power the real Analytics page (cost trend, provider donut, top tools/users); the Unified Blueprints page bridges behindGET /mcp-ai-pro/v1/blueprintsas a searchable install catalogue; the Agent Command Center absorbs into the console Dashboard (fail-soft KPI + activity). Console-wide: a semanticDataTable(sortable headers, masterโdetail rows, sticky header) replaces the div-list tables, buttons are standardized, and the sidebar groups into Workspace / Automation / Command Centers / Insights / Admin (W3C disclosure, persisted state). - ๐งฉ Crash fixes (PR #7184). The blueprints 500 โ the
admin_blueprintsmodule gated the page class behind an admin context, so its static catalogue seams fataled on front-end REST; the class now loads unconditionally (onlyinit()staysis_admin()). React error #310 (hooks after early returns) fixed on Schedule Manager, Workflows, Pro Ops, and Orchestration Stats โ with a permanentreact-hooks/rules-of-hooksESLint gate that caught 21 latent violations. The settings page gains section cards, cross-tab search, and a sticky save footer; the chat dock gets mode-synced conversation-list collapse, a theme switch, a stacked composer, and a working drag-resize. - ๐พ Real transcript-storage meter (PR #7185). The status-bar "Sessions: X KB" meter measured
localStoragekeys that can never exist for the server-side transcript store (always 0).WP_MCP_AI_Transcript_Repository::get_storage_bytes()now aggregates per-user payload lengths, the/chat-transcriptsenvelope carriesstorage_bytes, and the StatusBar prefers the server figure with a localStorage fallback for older installs. - ๐ก Dependency advisories closed (PR #7186). markdown-it โ 14.3.3 (ReDoS + O(nยฒ)),
@modelcontextprotocol/sdkโ 1.32.0 (gateway 22/22), launch-editor โ 2.14.2 โ 14 of 16 open alerts; the vite pair already fixed on the alpha line. - ๐จ Full tracked-bundle rebuild (PR #7182). Lockfile-only advisory bumps had left tracked bundles silently stale for 13 days โ the full artifact tree was rebuilt (16 files) and the rebuild discipline codified in the spa-ui + dependabot-loop skills (#7183).
- ๐ Standalone SPA endpoint sync (PR #7181). The Vite mirror gains the three canonical
ProSpaEndpointskeys (cost,blueprints,commandCenter) and pointsanalyticsat the core namespace โ the Velocity build gate fixed. - ๐ Docs & skills (PRs #7178, #7183, #7185). The Schedule Anything ops skill gains the Cloudways Anti-Bot Protection (Imunify360 WebShield) failure class with the diagnostic ladder and fix; the spa-rest-contract skill gains bug class 11 (wrong-store meters); the test-suite skill documents the
run-tests-docker.shdump-autoload fallback. - ๐ฆ Versioning โ bumped to 1.2.10 across all version-bearing files. Pro addon: 1.2.10. Tool count: ~355 base + ~1,377 Pro (~1,731 total โ unchanged; live registry authoritative). Model catalog: v2026.10.03 (unchanged). Provider count: 18 (unchanged). Addon count: 30 (unchanged; Schedule Anything Platform 0.1.2). Media Worker: 3.4.0 (unchanged). Bundled skills: 77 base + 41 Pro (unchanged). Coding-time agent skills: 76 (unchanged). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.8 oOS set (30 files).
๐ฏ Mission: Modernizing Small to Medium Business Websites
NV oOS is specifically designed to help small to medium-sized businesses fast-track their outdated, stale, or insecure company websites to modern technology standardsโwithout the need to add yet another wrapper around API calls. Instead, we're trying to peel back decades of API wrappers with the help of AI, providing:
- Direct AI Integration - No middleware required. Connect directly to OpenAI, Gemini, Anthropic, Hugging Face, Cloudflare Worker AI, Ollama, LM Studio, OpenRouter, and DeepSeek without custom development
- Security-First Architecture - Built-in protection against nefarious usage with active monitoring and prevention systems
- Enterprise-Grade Features - Access to capabilities typically requiring expensive custom development
- Compliance & Audit Tools - Comprehensive logging, rate limiting, and usage tracking built-in
- Zero Technical Debt - Modern codebase following WordPress standards, ready for current technology stacks
๐ก Active Security Monitoring
NV oOS actively prevents and monitors against nefarious behavior. The plugin includes:
- Nefarious Usage Monitor - Real-time detection of suspicious patterns and automatic emergency shutdown capabilitiesใF:includes/class-wp-mcp-ai-nefarious-usage-monitor.phpโ L1-L676ใ
- Root Security Key - Optional emergency authentication layer to prevent unauthorized reactivation after security incidentsใF:docs/features/security/root-security-key.mdโ L1-L511ใ
- Granular Capability Controls - Every tool and API endpoint enforces WordPress capabilities to prevent unauthorized access
- Rate Limiting - Built-in protection against abuse with configurable limits per user, model, and time period
- Comprehensive Audit Logging - Track all API calls, tool executions, and security events for compliance and forensic analysis
- Input Sanitization & Output Escaping - All user input sanitized, all output escaped following WordPress security best practices
This is not a tool for circumventing security or promoting bad practices. Every feature is designed with security, transparency, and responsible AI usage as core principles. The plugin actively works to stop and prevent misuse before it happens.
Latest audit: See docs/operations/compliance/SECURITY_AUDIT_2026_04.md โ the published summary of the April 2026 security & compliance code review (no Critical findings; 5 High items, 3 Fixed and 2 Partially Fixed). Full deliverables under docs/project/audits/2026-04/.
WordPress.org compliance hardening (May 9, 2026): docs/operations/compliance/WORDPRESS_ORG_COMPLIANCE_2026_05_09.md โ findings B3, B8, B10, B13, and production vendor remap all resolved.
โ Warranty & Safe Use
We make every effort to keep NV oOS safe and secure โ but by design, it can be destructive and resource-intensive when not properly configured.
NV oOS grants AI assistants access to powerful WordPress operations. The same capability that automates real work can cause irreversible harm if misconfigured:
- Destructive tools โ bulk content deletion, user management, file writes, mass email, WP-CLI, direct database operations
- API billing exposure โ uncapped AI provider calls can exhaust quotas and trigger unexpected charges
- Server resource exhaustion โ concurrent agentic loops and SSE streams can saturate CPU/memory on shared hosting
Before going live: test on staging, take verified backups, apply least-privilege tool permissions, enable rate limiting, and review the system prompt of every public-facing assistant.
๐ Full details: WARRANTY.md โ security commitment, "AS IS" disclaimer, destructive-operations table, resource-consumption guide, and mitigation checklist aligned with OWASP, NIST SP 800-53, ISO/IEC 27001, and the WordPress Plugin Developer Handbook.
Patent Pending
NV oOS is the subject of a pending patent application for its novel System and Method for Dynamic AI Orchestration Layer with Real-Time Capability Gating and Resource Budgeting.
Application Number: 19/410,504
The patent covers NV oOS's innovative approach to implementing sophisticated AI orchestration in WordPress's request-based PHP architectureโa platform not designed for real-time streaming, asynchronous operations, or persistent state management. This technical achievement enables enterprise-grade AI capabilities on WordPress by recreating event-driven behavior within PHP's synchronous execution model.
Key Innovations Covered:
- Dynamic resource budget allocation during streaming operations
- Capability-based access control for AI tool execution
- Registry-state-based scheduling in stateless environments
- Metrics-driven budget adjustment for real-time optimization
- Persistent-behavior illusion in request-based architectures
The orchestration layer makes NV oOS unique in the WordPress ecosystem by solving fundamental architectural limitations that prevent traditional WordPress plugins from supporting advanced AI features. See the System Architecture section below for technical details on how these innovations work together.
๐ System Architecture
NV oOS implements a comprehensive orchestration layer for managing AI operations during real-time streaming events. The system architecture comprises:
- 18 language-model providers โ OpenAI, Gemini, Anthropic, DeepSeek, OpenRouter, Baseten, Kimi (Moonshot), Z.AI (GLM), DigitalOcean, NVIDIA NIM, Cloudflare Worker AI, Azure, Ollama, LM Studio, Hugging Face, TypeSafe Jev (decision-only), plus local WebLLM + embedded engines
- ~1,731 tool classes (~355 base + ~1,377 Pro; live count via
WP_MCP_AI_Tool_Registry::get_tools()is authoritative) registered through a singleton Tool Registry - 36 REST controllers (16 base + 20 pro) under the
mcp-ai/v1namespace - 64 service classes powering orchestration, budgets, and workflows
- 5 authentication methods โ WordPress nonce, assistant credentials, mesh keys, Auth0 JWT, guest tokens
- Toolkit MCP servers โ per-toolkit JSON-RPC 2.0 servers exposed under
/wp-json/mcp-ai-pro/v1/mcp/{slug}; discoverable at/.well-known/mcp - 8 inline-async-tick consumers โ cooperative tick-lock pattern eliminates WP-Cron startup latency for background jobs (transcript mining, async tool executor, SaaS Apply, Crawl4AI, Docs Hub rebuild, Graphify reindex, Harness eval, Gemini Veo polling)
- 7 LLM Harness layers (+ 1 Pro) โ opt-in epistemic layers AโH activated per-assistant via the LLM Harness metabox
- Orchestration Phases 1โ7 โ HITL approval queue, prompt-injection detector, structured output, OTel exporter, DAG builder, durable runs, triggers/webhooks, sub-agents
๐ For a detailed explanation of how NV oOS extends standard SSE and MCP protocols with novel orchestration features, see ORCHESTRATION-LAYER-ARCHITECTURE.md
Core Orchestration Layer: Overcoming PHP's Limitations
Critical Context: Most real-time AI streaming systems are built with Node.js, Python FastAPI, or Go โ platforms designed for asynchronous, event-driven operations. These platforms natively support:
- Long-lived connections and persistent state
- Non-blocking I/O and parallel execution
- Event loops and asynchronous callbacks
- WebSocket protocols and SSE streaming
NV oOS achieves the same capabilities in PHP/WordPress โ an environment fundamentally not designed for these patterns โ through a sophisticated orchestration layer that creates a "persistent-behavior illusion":
- Real-Time Budget Enforcement - Monitors token/memory usage during streaming, prevents exhaustion through predictive allocation
- Capability-Based Tool Gating - WordPress role-based access control for AI tool execution
- Predictive Optimization - Analyzes usage patterns to prevent resource overruns before they occur
- Distributed Orchestration - Multi-provider support with policy-aware routing
- Auditability & Compliance - Complete governance layer with logging and rate limiting
- Cron-Based Task Orchestration - Extends orchestration to async operations with budget inheritance
Multi-Agent Orchestration Enhancement (DeepSeek V4-Inspired)
Added: January 2026 (v1.1.0)
Building upon the core orchestration layer, NV oOS now includes a sophisticated multi-agent coordination framework inspired by DeepSeek V4's orchestration patterns:
Key Components:
- Agent Role System - Four specialized roles (Planner, Executor, Critic, Specialist) with role-specific capabilities
- Team Composition - Automated team assembly based on task requirements and profession expertise
- Coordinated Workflows - Multi-step workflows with agent delegation, result aggregation, and validation
- Team CPT Integration - Persistent team configurations with orchestration modes (single/sequential/parallel/swarm)
- Profession-Based Discovery - 296 professions auto-assigned agent roles via intelligent seeding across 17 knowledge bases
Example Multi-Agent Workflow:
// 1. Compose research team (planner + executors + critic)
$orchestrator = new WP_MCP_AI_Agent_Team_Orchestrator();
$team = $orchestrator->compose_team( array( 'task_type' => 'research' ) );
// 2. Execute coordinated workflow
// Planner decomposes task โ Executors research subtasks โ
// Communication service aggregates โ Critic validates quality
$result = $orchestrator->execute_team_workflow( $team, $task, $context );
Documentation:
- See Multi-Agent Orchestration for complete technical details
- See DEEPSEEK-V4-README.md for documentation suite overview
- See DEEPSEEK-V4-USAGE-GUIDE.md for practical examples
Why This Architecture Is Novel: Overcoming PHP's Limitations
- Event loops and background workers
PHP/WordPress, by contrast, is fundamentally request-based:
- Every HTTP request spawns a new process that dies after responding
- I/O operations block execution
- No persistent memory between requests
- No native event loop or async coordination
NV oOS solves this by implementing an orchestration layer that creates a "persistent-behavior illusion" โ effectively recreating Node.js's event loop behavior within WordPress's synchronous, request-based architecture. This architectural compensation is the system's core technical innovation:
This makes NV oOS patent-worthy as a technical workaround โ it achieves sophisticated AI orchestration in an environment specifically not designed for such patterns. See ORCHESTRATION-LAYER-ARCHITECTURE.md for the complete technical analysis.
Computer-Implemented Resource Management
The system operates as a computer-implemented method executing on a processor with memory, performing:
-
Dynamic Resource Budget Allocation: The orchestration layer dynamically allocates token and memory budgets to tool execution requests based on real-time system capacity and operation requirements. The
WP_MCP_AI_Resource_Managercontinuously monitors server resources (PHP memory limits, execution time constraints) and automatically adjusts operational parameters. -
Capability-Based Access Control: Tool execution endpoints enforce granular capability-based access controls. Each tool in the registry declares required WordPress capabilities, and the REST API controller validates user permissions before allowing execution. This ensures secure, policy-driven access to all operations.
-
Registry-State-Based Scheduling: The
WP_MCP_AI_Tool_Registrymaintains tool availability state and schedules execution based on policy constraints. Tools are loaded conditionally based on dependency availability, and execution is scheduled according to assistant configuration and user permissions. -
Metrics-Driven Budget Adjustment: The system continuously monitors execution metrics (memory usage, API response times, token consumption) and adjusts resource budgets in response to prevent resource exhaustion and reduce latency. The
WP_MCP_AI_Token_Budget_Managerimplements safety margins and dynamic chunking to prevent API limit overruns.
System Components
The system comprises a processor and memory storing instructions that:
- Monitor real-time resource availability through PHP runtime introspection
- Enforce capability checks at REST endpoint boundaries
- Schedule tool execution through a centralized registry
- Adjust token and memory budgets based on detected system metrics
- Maintain operation logs for audit and optimization
This architecture is embodied in non-transitory computer-readable media (PHP source files) that, when executed by a web server processor, cause the system to perform the complete resource management workflow. The implementation prioritizes stability, security, and efficient resource utilization across diverse hosting environments.
Symfony Process Integration (December 2025)
NV oOS Pro addon integrates the Symfony Process component for secure external command execution. This modern framework replaces direct exec() calls in 6 Pro tools and 2 supporting services, providing:
- Enhanced Security: Proper argument escaping and command validation
- Timeout Management: Configurable timeouts with graceful handling
- Better Error Handling: Comprehensive exception catching and WordPress-friendly error reporting
- Process Control: Real-time output streaming and cancellation support
Migrated Tools & Services:
- FFmpeg operations (video frame extraction, metadata reading)
- Python rembg (background removal)
- WP-CLI execution
- Meta AI Jukebox (music generation)
- Supporting services for video and audio processing
The Process Service (WP_MCP_AI_Process_Service) provides WordPress-friendly wrappers with WP_Error integration, making external process execution consistent with WordPress coding standards.ใF:includes/services/class-wp-mcp-ai-process-service.phpโ L1-L220ใใF:docs/history/2025/implementations/symfony-phases/SYMFONY_PHASE2B_PROCESS_INTEGRATION.mdโ L1-L100ใ
๐ Release History
The 12 most recent releases are documented in full below. Every older release has a one-line summary in the Previous Releases table, and complete per-release detail lives in CHANGELOG.md.
v1.2.10 โ October 23, 2026
Console Migration Phase 5bโ5d, Crash Fixes, Storage Meter & Advisory Sweep
- ๐งญ Admin-surface console migration Phase 5bโ5d + polish (Proposal 084, PR #7180). The orphaned
WP_MCP_AI_REST_Cost_Manager+WP_MCP_AI_REST_Analytics_Managercontrollers now register inincludes/bootstrap/loader.php(Phase 5b) and power the real Analytics page (cost trend, provider donut, top tools/users โmanage_options-gated, wrapping the existing service layers); the Unified Blueprints page bridges behindGET /mcp-ai-pro/v1/blueprintsas a searchable install catalogue (5c); the Agent Command Center absorbs into the console Dashboard (5d, fail-soft KPI + activity). Console-wide polish: a semanticDataTable(sortable headers, masterโdetail expandable rows, sticky header, scroll containment, zebra striping) replaces the div-list tables; standardized primary/danger buttons; a grouped collapsible sidebar (ConsoleSidebar+nav-features: Workspace / Automation / Command Centers / Insights / Admin) with the W3C disclosure pattern, persisted state, and default-Workspace-expanded. - ๐งฉ Crash fixes + settings + chat dock (PR #7184). The blueprints 500 โ the
admin_blueprintsmodule gated the page class behindcontext => 'admin', so its static catalogue seams fataled on front-end REST; the class loads unconditionally now (onlyinit()staysis_admin()), pinned by an 11-test REST suite. React error #310 (hooks after early returns) fixed on Schedule Manager, Workflows, Pro Ops, and Orchestration Stats โ with a permanentreact-hooks/rules-of-hooksESLint gate that caught 21 latent violations across 4 files. The settings page gains section cards per tab (the schema's previously unusedsection/section_id), cross-tab search with breadcrumbs, a sticky save footer, and dirty-field indicators. The chat dock: mode-synced conversation-list collapse (docked starts collapsed, full-page open โ boot-synced to avoid a first-frame flash), the visible status-bar โฐ toggle, a light/dark theme switch, a stacked composer (textarea no longer squashed to 31px), and drag-resize on the textarea itself. - ๐พ Server transcript storage meter (PR #7185). The status-bar "Sessions: X KB" meter measured same-origin
localStoragekeys that can never exist for the server-side transcript store.WP_MCP_AI_Transcript_Repository::get_storage_bytes()aggregates per-user payload lengths (0 when the CCT is unavailable),GET /mcp-ai/v1/chat-transcriptscarriesstorage_bytes, and the StatusBar prefers the server figure with a localStorage fallback for older installs. - ๐ก Dependency advisory sweep (PR #7186). markdown-it โ 14.3.3 (ReDoS + O(nยฒ), bounded override โ 6 alerts),
@modelcontextprotocol/sdkโ 1.32.0 (gateway exact pin, 22/22 โ 8 alerts), launch-editor floor โ 2.14.2 (2 alerts) โ 14 of 16 open alerts closed; the vite pair already fixed on the alpha line. - ๐จ Full tracked-bundle rebuild (PR #7182). Lockfile-only advisory bumps (#7175, #7106) had left tracked bundles silently stale for 13 days โ the full artifact tree rebuilt (16 files: the three
generate-*worker bundles, chat bundles, SPA dists, TMA entries, drift manifest); spa-v2 + complete-velocity rebuilt byte-identical same-day. - ๐ Standalone SPA endpoint sync (PR #7181). The Vite mirror gains the three canonical
ProSpaEndpointskeys (cost,blueprints,commandCenter) and pointsanalyticsat the coremcp-ai/v1/analyticsnamespace (matching the canonical PHP config) โ the Velocity build gate's TS2739 fixed. - ๐ Docs & skills (PRs #7178, #7183, #7185). The spa-ui skill gains a "Rebuild discipline" subsection (lockfile-movement staleness signature, the vendor never-commit rule, the revert-on-shared-branch play, merge discipline) and the dependabot-loop skill gains Step 7 (rebuild tracked bundles); the Schedule Anything ops skill gains the Cloudways Anti-Bot Protection (Imunify360 WebShield) failure class โ symptom signature, the
pdata/wsidchk clues, the diagnostic ladder, and the fix โ cross-referenced from the Complete Console deploy runbook; the spa-rest-contract skill gains bug class 11 (wrong-store meters) + thestorage_bytesbaseline; the test-suite skill documents therun-tests-docker.shsilentdump-autoloadfallback. - ๐งช Tests (PRs #7184, #7185). Regression pins for the blueprints REST surface (11 tests / 103 assertions), the cost/analytics/command-center REST surfaces (17 tests), the loading โ loaded transitions on the four hook-order pages, the transcript-storage suite (3 tests), and the
useTranscriptsstorageBytes parsing/fallback cases. - ๐ฆ Versioning โ bumped to 1.2.10 across all version-bearing files (plugin header,
WP_MCP_AI_VERSION,WP_MCP_AI_PRO_VERSION,package.json, readme.txt Stable tag). Pro addon: 1.2.10. No addon version moves in-window (Schedule Anything Platform stays 0.1.2). Media Worker: 3.4.0 (unchanged โ verified across package.json + both health/status surfaces). Model catalog: v2026.10.03 (unchanged โ zero catalog diff). Tool count: ~355 base + ~1,377 Pro (~1,731 total โ unchanged) โ zero registry registrations in-window (the cost/analytics managers are REST controllers; live registry authoritative). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 77 base + 41 Pro (unchanged). Coding-time agent skills: 76 (unchanged โ five skills updated in place). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.8 oOS set (30 files โ 9 + 2 + 19).
v1.2.9 โ October 22, 2026
Complete Console App + Admin Console Migration, SA Visibility & New REST Routes
- ๐ฅ NV oOS Complete Console Velocity app (Proposal 083, PRs #7150, #7154). A new standalone Cloudways Velocity app (
examples/nvoos-complete-velocity/) serving the full spa-v2 admin surface for Complete customers โ build-time composition via the@nvoos/pro-spa-v2Vite alias (no spa-v2 fork), cookie auth through the proven same-origin BFF proxy (serve.mjs, no connection screen), and a Schedule Anything-format shell: dashboard home, one route-split page per addon, a collapsible nav rail, and a persistent chat dock (singleChatPageinstance โ conversations keep streaming while browsing). - ๐งญ Admin-surface console migration, Phases 0โ4d (Proposal 084, PRs #7164, #7166).
WP_MCP_AI_Feature_Flags+GET /mcp-ai/v1/featuresgate the console nav (fail-open); Approvals/Slash Commands/Triggers/Portability/Security/Teams ports with per-page wp-admin kill-switches; a schema-driven Settings engine (/settings/schema+/settings/values, dirty-diff saves, secret masking); ops/diagnostics/token-manager pages +GET /mcp-ai-pro/v1/ops/overview; Schedule Manager (P9) + Workflow Builder (ReactFlow canvas) + records/dashboards/calendar/F&B/channels/media-ops pages. A REST contract parity audit fixed nine client/server mismatches โ including the assistants GET/PUT routes that broke the edit form. Phase 5 (retirement soak + kill-switch flips) remains. - ๐
Schedule Anything full visibility (PR #7147 โ platform 0.1.1 โ 0.1.2). The builder palette now reads the live registry via
GET /mcp-ai-pro/v1/sa-tools(paged light rows, server search + group facet โ replaces a hardcoded 19-tool fixture);GET /toolkitsreturnstier/platform_active/entitled(server-decided, greys out of-tier toggles); the missingflowhub+shopify-synctoolkit rows are back; multisite admins gainsa_manage_workspaceidempotently; preset filters use server facet dropdowns + load-more; same-state toggles are a successful no-op. - โ New base settings/features routes (PRs #7157, #7164).
GET/POST /mcp-ai/v1/settings(SPA-shaped{ success, data }, secrets masked as the admin placeholder, whitelisted sanitize + key mapping + clamps),GET /mcp-ai/v1/features,GET /mcp-ai/v1/teams, and the settings schema/values pair. - ๐ก Opt-in debug logging (PR #7161). The JetEngine CCT hot path no longer logs a debug event per request; debug-level events gate behind
enable_debug_logging(default off) while errors/warnings/criticals stay always-on; the CG Pro logger port mirrors the gate and degrades to a safe no-op standalone. - ๐ Memory-graph bridge seams (PR #7145).
trace_memory_provenanceresolves its bridge/DB walker through three filters and walksDERIVED_FROM/OBSERVED_BY/MEMBER_OF(not the never-populatedRECALLS) with a newkindfield; the RRF fusion stream resolves its bridge viawp_mcp_ai_memory_rrf_graph_bridge; the Content Graph plugin self-declares as the bridge (no CG version bump โ release prep is a follow-up). - ๐งฉ Console reliability (PRs #7174, #7176, #7163). Six 404ing
mcp-ai-pro/v1console routes fixed by a context-freerest_console_bridgesregistry module (the admin-context gate never fired for the front-end SPA); the schedule picker moves to its own/schedules/selectableroute (last-registrant-wins collision fixed); dashboards and nav gate on toolkit toggles (disabled toolkits vanish server-side); loading states replace empty-then-loaded flashes on Assistants/Tools/Settings/Records/Dashboards/Channels. - ๐งพ SPA REST contract fixes (PRs #7156, #7155). The tools-list client maps the real
{ tools, total }envelope (route additively returnsslug+required_capability); the knowledge-graph visual-config fetch sends thewp_restnonce (cookie-mode 401 fixed); the Content Graph guest branch validates through the real guest-token layer; transcript 404s mean "fresh session". - ๐ Schedule Anything Velocity deploy chain (PRs #7146, #7148, #7151). Missing CSS assets fixed (asset-closure gate + 404-loudly
serve.mjs, MIME-verified in the sync workflow); React 18.3 โ 19.1.0 as a documented Pattern-B deviation; the complete-console mirror's build scripts are no-op shims with dependencies stripped (Velocity deploy fixed). - ๐ Build & dependencies (PRs #7167, #7168, #7175, #7144, #7171, #7173, #7165). The Pro zip stops shipping root
examples/(โ5.4 MB); vite โ 8.2.4 across the 9 alerted manifests + schedule-anything-spa 6.4.4, hono โฅ4.13.11, follow-redirects โฅ1.16.1 (alerts 1336โ1377); the dictate workflows install the real rustup arch targets (tauri lipo-merges the universal bundle); the standalone SPA's@xyflow/reactlockfile + paths/aliases fixed. - ๐ Docs & skills (PRs #7162, #7170, #7169, #7172, #7160, #7153). New
mcp-ai-wpoos-spa-rest-contractskill (75 โ 76) canonizes the REST contract audit (seven bug classes, audit path, fix decision rules, validation matrix); spa-ui gains the Tailwind v4 tracked-dist loop, the Pattern-B React 19 checklist, and the clean-install lockfile gotcha; content-graph-spa + schedule-anything-ops updated; README sponsor section +FUNDING.ymlactivated (VS16 anchor fixed); Proposal 085 (Funiq Velocity storefront) is docs-only. - ๐งช Tests (PRs #7149, #7174). The order-dependent tenant-isolation failure is fixed (option reset in
setUp());phpunit.xml.distdrops its no-op source excludes (the 70 GB Rusttarget/walk no longer hangs suite startup); the console-bridge registration is regression-pinned. - ๐ฆ Versioning โ bumped to 1.2.9 across all version-bearing files (plugin header,
WP_MCP_AI_VERSION,WP_MCP_AI_PRO_VERSION,package.json, readme.txt Stable tag). Pro addon: 1.2.9. Schedule Anything Platform: 0.1.1 โ 0.1.2 (#7147). Media Worker: 3.4.0 (unchanged). Model catalog: v2026.10.03 (unchanged โ zero catalog diff). Tool count: ~355 base + ~1,377 Pro (~1,731 total โ unchanged) โ zero registry registrations in-window (sa-tools+ the settings/features/ops routes are REST surfaces, not tools; live registry authoritative). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 77 base + 41 Pro (unchanged). Coding-time agent skills: 75 โ 76 (+mcp-ai-wpoos-spa-rest-contract). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.7 oOS set (30 files) + the superseded Schedule Anything Platform v0.1.1 ZIP.
v1.2.8 โ October 19, 2026
Schedule Anything API + Single-Site Mode, F&B Worker Offload & MCP OAuth Hardening
- ๐
Schedule Anything presets + toolkits API (PR #7124, Proposal 081). Four
mcp-ai-pro/v1routes (rest_schedule_anythingmodule):GET /toolkits+POST /toolkits/{slug}/toggle(server-side tier entitlements via the platform'sSA_Toolkit_Manager,403 sa_toolkit_not_entitled),GET /presets+/presets/{id}(12 presets across 6 toolkits), and idempotentPOST /presets/{id}/install(replay returns the original schedule). Schedule records leaving REST are redacted (redact_schedule_for_public()โ credential-bearing fields stripped), and the SPA builder payload aligns with the server contract (sonner error surfacing). - ๐ Schedule Anything Platform single-site mode (PR #7134, Proposal 082 โ addon 0.1.0 โ 0.1.1). No more activation
wp_dieon non-multisite: sole-tenant self-provisioning (tier defaultenterprise, filtersa_single_site_tier), amanage_optionscapability seam for SPA REST,409 sa_cannot_offboard_sole_tenant, aSA_SAAS_API_KEY-gated heartbeat, and a 17-case suite wired into the root PHPUnit run via a self-guarding addon tests bootstrap. - ๐ญ F&B ingest ร media-worker offload (PR #7114, Proposal 079 + Appendix B). The worker's
POST /api/ingest/parsereturns the F&B{columns, rows}matrix contract (XLSX/CSV/TSV/JSON/JSONL/PDF/photo;.xls/.odsโ503 capability_unavailablewith local fallback),/api/image/batchgains thefiles[N]contract + per-file tolerance; the F&B loader parses heavy formats sidecar-first with local PhpSpreadsheet/PdfParser fallbacks;optimise_images_batchand the OCR-service PDF path offload; opt-inocr_vision_fallbackrung. - ๐ก MCP OAuth authorize hardening (PR #7133). Exact-string redirect URI matching (RFC 9700 โ the wildcard bypass is gone), registration-time URI validation, a nonce-bound consent page before any code is issued, unknown-scope rejection, and token-endpoint
redirect_urimatching โ Pro addon + the byte-identical Content Graph Pro mirror (19-test suites, 114 adjacent assertions on WP 6.9 + 7.1). - ๐ฅ WP-CLI integration gaps closed (PR #7135). The dead
mcp-ai contentcommand registers again; a canonicalWP_MCP_AI_Pro_Toolkit_Settings_Map(40 toolkits) fixes "Unknown toolkit key" for 11 real settings keys;toolkit enable|disablearemanage_options-gated (--yes); newfoundry/para/qms/mcp-app/fnbcommands with the integration CLIs discovered viawp help mcp-ai. - ๐ฌ Chat composer vertical expansion + collapsible toolbar (Proposal 080, PRs #7113, #7116, #7118โ#7120). Auto-grow 1โ3 lines (
field-sizing: content+ fallback), iOS keyboard reflow (interactive-widget=resizes-content, dvh chain,useVisualViewport), a Zed-style drag-resize divider (clamped + persisted), a focus composer, an in-place collapsing desktop toolbar, a mobile toolbar row, and three pre-existing a11y lint failures fixed โ 202 vitest tests green. - ๐ง Gmail body hydration + attachment text (PR #7110). HTML-only
empty_partsemails hydrate viabody.attachmentIdbefore normalization; attachments return extracted text (PDFs via smalot/pdfparser, text/csv/json, actionable errors for scanned PDFs); unpadded base64url re-padding fixed. - ๐ฝ F&B fixes (PRs #7108โ#7112). Excel serial dates (
46023= 2026-01-01) no longer read as Unix epoch (the 1970-01 collapse that blanked every trend chart); the universal reader honors the operator'stable_map; the raw-row import keeps non-canonical columns; resume/retry imports persist aresumeCursor; progress placeholders render. - ๐ Dictation macOS verification + universal builds (PRs #7122, #7123, #7137). A
macos-latestboot-smoke job (30 s boot-residency gate + headless--mcpengine probe), an interactive tmate session workflow (scripts/macos-matrix-remote.sh), and one universal arm64+x86_64 artifact (lipomerged, both slices boot-verified) replacing the per-arch DMGs. - ๐ Schedule Anything Velocity app (PRs #7125, #7126, #7131).
examples/schedule-anything-velocity/serves the prebuilt SPA with the proven proxy core (no CORS config); a rootserver.jsESM shim satisfies Velocity PM2's default entry; the sync-token secret renamedNVOOS_SA_VELOCITY_REPO_TOKEN(GitHub caps secret names at 40 chars). The platform plugin'sRequires Pluginsheader is dropped so the oos-complete bundle activates (core matches the dependency against the folder slug โ three distribution slugs; #7132). - ๐ Dependencies (PRs #7106, #7121).
handlebars4.7.9 โ 4.7.10 (GHSA-8r5x-fm3f-whwj); the Schedule Anything SPA joins every SPA zip build + release gate. - ๐ Docs & skills (PRs #7115, #7128, #7129). New
mcp-ai-schedule-anything-opsskill (74 โ 75); the dictation-app skill gains the macOS remote verification loop; Pro tool coverage manifest regenerated (1,387 classes). - ๐ฆ Versioning โ bumped to 1.2.8 across all version-bearing files (plugin header,
WP_MCP_AI_VERSION,WP_MCP_AI_PRO_VERSION,package.json, readme.txt Stable tag). Pro addon: 1.2.8. Schedule Anything Platform: 0.1.0 โ 0.1.1 (#7134). Media Worker: 3.4.0 (unchanged โ the new ingest route ships without a worker bump). Model catalog: v2026.10.03 (unchanged โ zero catalog diff). Tool count: ~355 base + ~1,377 Pro (~1,731 total โ unchanged) โ zero registry registrations in-window (#7135's commands are WP-CLI, #7124's surface is REST, #7114's client is a service; live registry authoritative). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 77 base + 41 Pro (unchanged โ the dictation-app bundled copy re-synced byte-identical). Coding-time agent skills: 74 โ 75 (+mcp-ai-schedule-anything-ops). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.6 oOS set (30 files) + the superseded Schedule Anything Platform v0.1.0 ZIP.
v1.2.7 โ October 17, 2026
F&B Universalisation, Sinhala TTS, and the Pro SPA Multi-Page Expansion
- ๐ฝ๏ธ Food & Beverage universalisation + open-format ingestion (PRs #7094โ#7096, Proposal 078). The F&B toolkit moves from a single-tenant demo to a universal product:
WP_MCP_AI_Fnb_Tenant_Profilede-couples currency (canonical neutral metric keys with legacy*_lkraliases for the 20/20 oracle),render()de-venues both assistant surfaces via token substitution,demo_mode => false, and a newWP_MCP_AI_Fnb_Report_Exporter(DomPDF-first PDF +html_to_pdffallback + CSV) powersfnb_export_report(+1 Pro). The universal reader scores a single Drive folder to table roles; the multi-format loader + Observation/terminology-map layer and a read-only Ingest & Review dashboard complete the ingestion track; an analytics dashboard adds KPI tiles + trend charts + panel tables. - ๐ฃ Sinhala-native TTS (PR #7099).
generate_sinhala_speech(+1 base) closes thegenerate_openai_speechgap (OpenAI voices are English-optimized, Google Cloud TTS has nosi-LKvoice) via SpeechGen (si-LK), Hugging Facefacebook/mms-tts-sin, or a custom webhook; wired into themedia_generationpreset, with ateacher-assistant-sri-lanka.mdsystem-prompt + tool pack. - ๐งฉ Pro SPA multi-page expansion (PRs #7078โ#7080).
#/docs,#/media, and#/documentsframe the Docs Hub / Media Studio / Document Editor SPAs in sandboxed iframes (mirroring#/knowledge-graph), with filterabledocsHub/mediaStudio/documentEditorendpoints andnav-*commands; the standalone app defaultsdocsHubto the console docs hub. - ๐ Dictation-app skill bundling (PR #7077).
mcp-ai-wpoos-dictation-appships insideincludes/bundled-skills/and thebin/sync-agent-skills.phpallowlist (base bundled 76 โ 77). - ๐ก Tool-schema hardening (PRs #7087, #7100, #7104). Per-property boolean
requiredhoisted to the top-level array (bothChatOrchestrator+ RESTbuild_tools_payload()) and emptypropertiesemitted as{}(seven no-arg tools + the centralTool_Schema_Auditor+ the CG-AI mirror), fixing DeepSeek 400s. - ๐ Google Workspace unification + native Sheets (PRs #7097, #7101, #7105).
search_gmail/search_drivedelegate to the shared clients (fixing thegoogle_workspace/email_imaprejection);get_drive_filereads native Google Sheets via the Sheets API v4 (sheet_name,tabs,row_count);extract_google_error_message()surfaces the real 403 cause. - ๐ F&B reliability (PRs #7091, #7092, #7102, #7103). Recoverable unknown-metric errors (Levenshtein closest-ID suggestion), complete-by-default + resumable imports (25,000-row cap), header-dictionary metric resolution + covers fallbacks + fixed-height KPI charts, and a WPCS indentation pass.
- ๐ฅ Team-member tool invocation (PR #7088).
invoke_team_member()resolves profession slugs throughbuild_tools_payload()(proper{type,function}definitions + attention/capability inheritance). - ๐ Framed SPA credential auth + surface fix (PRs #7075, #7076, #7085). Headless
Bearer cred_โฆauth for framed Media Studio/Document Editor (capability-gated to the issuing user), the broken home-URL iframe fallback removed, and keep-alive hub tabs. - ๐ Dependency (PR #7074).
@modelcontextprotocol/sdk1.30.1 โ 1.31.0 in the mcp-wordpress-gateway (GHSA-6qxp-vccf-f47h). - ๐ Docs & skills (PRs #7081, #7082, #7084, #7086, #7093).
design-performance-auditFlatsome + post-deploy sync, four more skill refreshes + Proposal 075, a Cloudflare 520 troubleshooting entry, the nvoos-dictate lockfile sync, and the Pro coverage-manifest regeneration. - ๐ฆ Versioning โ bumped to 1.2.7 across all version-bearing files (plugin header,
WP_MCP_AI_VERSION,WP_MCP_AI_PRO_VERSION,package.json, readme.txt Stable tag). Pro addon: 1.2.7. No addon version moves in-window. Model catalog: v2026.10.03 (unchanged โ zero catalog diff). Tool count: ~355 base + ~1,377 Pro (~1,731 total โ +1 base +1 Pro) โgenerate_sinhala_speech(#7099) +fnb_export_report(#7094); live registry authoritative;lib/core/sub-project tools never counted. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 77 base (+mcp-ai-wpoos-dictation-app) + 41 Pro. Coding-time agent skills: 73 โ 74 (+mcp-ai-wpoos-toolkit-ingestion;-universalisationself-bookkept at #7094). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.5 oOS set (30 files โ see ยง2.5).
v1.2.6 โ October 14, 2026
Drive OAuth Restored, F&B Reliability, OCR vLLM & the Dictation Browser Agent
- ๐ Google Drive OAuth restored (PR #7053). The #6981 narrowing to the non-sensitive
drive.filescope silently brokesearch_drive,get_drive_file, and the F&B tools for pre-existing content โ a per-file scope that can't see anything the app didn't create.drive.readonlyis restored as the default alongsidedrive.file, behind the unchangedwp_mcp_ai_google_drive_oauth_scopefilter; the CG-AI-platform OAuth manager mirrors it (sub-project, flag-not-edited). - ๐ฝ Food & Beverage reader reliability (PRs #7057, #7060, #7061, #7062). The Sheets reader assumed one Drive file per table; real clients use a single workbook. The
WP_MCP_AI_Pro_Google_Drive_Clientgains Sheets-API-v4 helpers (get_sheet_values()/get_sheets_metadata()) and the reader resolves table IDs to worksheet tabs with fuzzy matching (case/underscore/hyphen/substring) + a preserved split-file fallback. ADEMO_WORKBOOK_IDfallback +workbook_id()accessor fix the fresh-install file-lookup break; thespreadsheets.readonlyOAuth scope +maybe_annotate_sheets_error()surface the real Sheets scope failure instead of a misleading split-file "not found". A newWP_MCP_AI_Fnb_Csv_Exporter(workbook โ CSV-per-table with an admin export button) and the 18-table demo dataset (~10,700 rows) now ship indata/*.csv(thetests/path was stripped from release builds). - ๐ Drive connection fixes (PR #7051). The
WP_MCP_AI_Inline_Async_Tick_Traitdouble-declaration fatal in the harness eval scheduler (the non-once Composer classmap load raced a laterrequire_once); Drive 400 responses now log the full body (soinvalid_grantvsinvalid_clientis finally visible);folder_idcan now be cleared (preserve only when the key is absent โ the always-posted empty string was mistaken for an omission). - ๐ Self-hosted OCR vLLM contract (PR #7055).
WP_MCP_AI_Self_Hosted_OCR_Client::ocr_images()emitted the SGLang dialect while every operator surface directs users to deploy vLLM โ so the no-repeat-ngram processor was never engaged and long documents looped on coordinate tokens. Rewritten to the vLLM OpenAI-compatible shape (model= HF id;skip_special_tokens+ngram_size/window_size+ DeepSeek'swhitelist_token_idsunderextra_body.vllm_xargs); base + CG Pro mirror byte-identical. - ๐ค Dictation browser agent + FastConformer (PRs #7041, #7043โ#7050). The
agentfeature drives a real browser over CDP (chromiumoxide) from dictated/typed instructions โ a ReAct loop, a six-variant verdict model with real read-back, an origin-guarded safety gate + sensitive-field masking + async HITL Approve/Deny, and the brain model now correctly usessettings.agent.model(never the shared cleanup/TTS model). A second local STT engine (fastconformernemo_ctc) ships; an explicitCleanupConfig.polish_enabledmaster switch replaces thewait_for_llm_ms > 0gate (the0default used to silently disable polish); model download/install hardened (.downloadmoved out of the install dir, 5ร staging-swap retry,spawn_blockinginstall). - ๐งญ NV oOS multi-SPA hub + Pro SPA v2 fixes (PRs #7063, #7066, #7064, #7072). A new
GET /mcp-ai-pro/v1/spa-surfacesdiscovery endpoint (WP_MCP_AI_Pro_SPA_Surfaces_Controller, gated onshortcode_exists()/class_exists()) + the dictate app's "NV oOS" multi-surface hub. The Pro SPA v2 last-message-save + assistant-memory regressions are fixed (#7066); the tool-shortcuts/slash-commands/OKF drawers now accept guest/bearer/assistant-credential auth via the newtrait-wp-mcp-ai-spa-credential-auth.php(they were cookie-only โ 401 inside the dictate iframe, #7072). - ๐ Dependency (PR #7059).
shell-quotebumped to>=1.11.0(resolving 1.12.0) across the root + saas-controller + Pro SPA manifests, closing the GHSA-pqg4-j6r4-53mv command-injection alert in three lockfiles. - ๐ฆ Versioning โ bumped to 1.2.6 across all version-bearing files (plugin header,
WP_MCP_AI_VERSION,WP_MCP_AI_PRO_VERSION,package.json, readme.txt Stable tag). Pro addon: 1.2.6. No addon version moves in-window. Model catalog: v2026.10.03 (unchanged โ zero catalog diff). Tool count: ~354 base + ~1,376 Pro (~1,730 total โ unchanged) โ zero registry diff in-window (noclass-wp-mcp-ai-tool-*registrations; #7063'sspa-surfacesis a REST endpoint and #7062's CSV exporter is a service, both non-tool). Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged). Coding-time agent skills: 72 (unchanged โ no new skills in-window). Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.4 oOS root set (30 files โ see ยง2.5).
v1.2.5 โ October 13, 2026
GTmetrix ร WPCode Toolkit, Food & Beverage Phase 9 & the Hardened Dictation App
- ๐ GTmetrix ร WPCode performance toolkit (PR #7026, Proposal 068). +24 Pro tools โ a 23-tool
gtmetrix_*set (start/monitor/retest, report + Lighthouse-audit + resource-summary reads, browser/location/simulated-device listing, alert + page-tag + monitoring management, andgenerate_wpcode_snippet) plus the read-onlylist_wpcode_snippetson a sharedWP_MCP_AI_Pro_WPCode_Snippet_Repository(extracted zero-behavior-change fromcreate_wpcode_snippet,conditional_logicsupport). Deterministic CWV/grade/weight scoring with a 41-check standalone oracle, a credit-aware Action Scheduler poller + CPT snapshot store surviving GTmetrix's 1-month retention, a Basic-auth client with 429 backoff + sensitive-resource hard-blocks, andgtmetrix_install_wpcode_fixdrafts-only/chat-restricted. Five schedule + two workflow presets, an assistant pack +wp mcp-ai pro gtmetrix seed-assistant, full 7-surface registration + regenerated coverage manifests. Deferred (plan ยง8): WP 7.1 second pass, live-key smoke test, proposals-README status. - ๐ฝ Food & Beverage Phase 9 (PR #7032). +10 Pro tools โ five transactional-table CPT backends (
mcp_ai_fnb_sale|purchase|stock|waste|bookingbehindenable_fnb_native_storage, with idempotent upserts + before/after hooks) read by metrics/reports unchanged through aWP_MCP_AI_Fnb_Cpt_Reader; the ACT-tierfnb_import_tableSheet/CSVโCPT bridge (dry-run, idempotent); and ninefnb_pr_*purchase-request tools running the approval lifecycle on the QMS engine (preconditions viawp_mcp_ai_qms_state_preconditions, PO numberingPR-YYYYMM-###, release-signature relaxation). The four A1โA4 assistants ship as unified Blueprints; a new top-level F&B Management menu (CRM/PM pattern) with five CPT screens + a dashboard + settings link. Deferred: Phase 10 chat/social/booking wiring, reference-table CCT fields, Appendix A10. - โ๏ธ F&B admin menu + module-registry fix (PR #7029).
tools/food-beverage/init.phpwas dead code โ fnb was missing from the Pro Module Registry'sconditional_toolkits/dir_map, so the admin menu never registered (tools still worked via the central map). A new F&B settings page + the CRM-style enable gate land; the 21 shipped tools now surface correctly.design-...-toolkit-creationcase study updated to eleven registration surfaces. - ๐ฑ F&B assistant-pack seeding + CSV guidance (PR #7033). The truncated
WP_MCP_AI_Fnb_Assistant_Seedercompleted (seed(), portability-engine load, image-tool add) so the one-click Seed assistant packs admin button and thewp mcp-ai pro fnb seed-assistantsCLI share identical semantics; CSV data-directory guidance + a read-only status row (configured/exists/is-directory/readable/writable). - ๐ Dictation companion app hardened (
examples/nvoos-dictate, PRs #7017, #7020, #7021, #7025). The live-capture stream-hold regression (cpalStreamdropped on return โ zero callbacks), the stuck-Alt hotkey (synthetic key-up after unhook), adaptive energy-VAD with a real-signal fallback, and the model re-downloadOpenOptionswrite-access bug fixed; whisper+parakeet now build into one binary (vendoredwhisper-rs-sysstatic CRT); a Diagnostics page + mic input-device picker ship. Deferred: auto-restart watchdog, loopback meeting audio. - ๐ Dictation follow-up: credentials + macOS + whisper speed (PR #7027). whisper release speed fixed (RTF 5.2 โ 0.36 via
whisper-rs-sys/force-debug); version 0.1.0 โ 0.2.0; a Windows Credential Manager backend (win_cred.rswritingCRED_PERSIST_LOCAL_MACHINE) replaces keyring 3.6.3's brokenCRED_PERSIST_ENTERPRISEpath (write-then-read-back verification); the macOS port proposal (068) lands as a plan doc. - ๐ฌ macOS port (P5, PR #7030). cfg-gated PTT (permission-free
Cmd+Opt+Spacetoggle + opt-in CGEventTap hold), a TCC permissions layer with System Settings deep links, CoreGraphics paste, ScreenCaptureKit meeting audio via a Swift sidecar (NDJSON), per-app cleanup profiles (NSWorkspace frontmost detection), Info.plist/entitlements, and amacos-latestCI job. Not yet verified on real Mac hardware (CI has no audio/screen/permission hardware). - ๐ค Local LLM polish, video input & licensing (PR #7037, Proposals 071/072).
lm_studio/ollamaStage-2 cleanup providers on a sharedlocal_openaitransport;DecodedMedia+ achunkerdemux MKV/MP4(MOV)/WebM without FFmpeg (transcribe_media/summarize_mediaIPC);nvoos-dictate+ the two SPA demos marked proprietary NV Digital (license = "proprietary"/"UNLICENSED",LICENSE.txt/NOTICE.md/.reuse/dep5). - ๐ Vision object detection + VLM label polish (PRs #7039, #7040, Proposals 075/076). Opt-in ONNX-YOLO detection (yolov11n default, yolov8n fallback) with SORT/ByteTrack tracking and a click-to-select pin overlaid on the webview canvas, plus an opt-in Qwen2.5-VL label-polish layer (crop โ base64 PNG to LM Studio/Ollama) that re-labels the closed-vocabulary detector's low-confidence/misnamed boxes. Deferred: MediaPipe-hand, ByteTrack low-confidence recovery, biometric identity.
- ๐ค Standalone SPA login presets (PR #7031).
HOME-selected deploy-specific login pages (cookie-dev-proxy / application-password / assistant-credential / preconfigured) with runtimeNVOOS_*env injection throughserve.mjs(secret-free startup logging,<escaping) and an opt-inNVOOS_AUTO_CONNECTkiosk mode. - ๐ Coverage & contract drift (PRs #7035, #7036). The three model-foundry exporters'
produceshandoff side corrected tonull(corpus schema identifiers aren't ID-handoff keys); theenable_webchat_integrationtoolkit count fixed (36 โ 37); the Pro coverage manifest regenerated (+wp-mcp-ai-fnb-assistant-seeder). - ๐ Docs & skills (PRs #7015, #7016, #7019, #7023, #7024, #7028, #7038). Two new coding-time skills (71 โ 72:
mcp-ai-artcraft-opsโ ArtCraft MCP reverse-engineering/rebuild guide;design-performance-auditโ the GTmetrix โ WPCode optimization pipeline) + Rust editor config (Zed + VS Code) + proposal docs 068/070/071/072/074/075/076 + the 1.2.4 readme.txt/README gap closure (#7019, which also encoded the check against recurrence in the updates skill). Sub-project:nvoos-content-graph1.0.11 prep for wp.org (#7014 โ own changelog/readme/POT track, flag-not-edited). - ๐ฆ Versioning โ bumped to 1.2.5 across all version-bearing files (plugin header,
WP_MCP_AI_VERSION,WP_MCP_AI_PRO_VERSION,package.json, readme.txt Stable tag). Pro addon: 1.2.5. No addon version moves in-window (content-graph 1.0.11 + CG-AI-platform 2.0.0 ZIP rebuilds are sub-project/build-only). Model catalog: v2026.10.03 (unchanged โ zero catalog diff). Tool count: ~354 base + ~1,376 Pro (~1,730 total โ +34 Pro) โ the 24-tool GTmetrix toolkit (#7026) + the 10-tool F&B Phase 9 wave (#7032); live registry authoritative;lib/core/sub-project tools never counted. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged โ the two new skills are coding-time only). Coding-time agent skills: 71 โ 72. Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.3 oOS root set (see ยง2.5).
v1.2.4 โ October 12, 2026
MCP Quirk Hardening, Chart Recipes, Model Foundry Phase 1 & the Content Graph SPA Page
- ๐ก MCP client-quirk hardening (PR #7007, Proposal 066). Every advertised
tools/listschema now carries a roottype: objectand hazardous schemas are skipped-with-reason instead of dropping the whole catalog (bracketed property names, >20 KB schemas, root combinators, >64-char slugs โ the newWP_MCP_AI_Tool_Schema_Auditor);nvoos_get_profileattachesstructuredContentwhenever itsoutputSchemais advertised (Codex turns declared-outputSchema text-only results into errors); the registry fireswp_mcp_ai_mcp_tools_list_changed(once per request) backinglistChanged; JetEngine MCP + MCP App discovery caches cap at the serverttlMsand invalidate onnotifications/tools/list_changed; the CG-AI standalone mirror ports the hardening. Site Health direct test + debug field; 44 new tests on WP 6.9 + 7.1. - ๐ nvoos-chart recipe rendering (PRs #7003, #7005). Fenced
nvoos-chartJSON renders as real HTML/CSS charts on all three chat surfaces (no SVG/canvas/CDN) โ 29 types (v1's bar/column/line/area/dot/donut/heatmap + v2's histogram, box, strip, stem, violin, pie, waffle, unit, diverging, lollipop, dumbbell, slope, bullet, pyramid, waterfall, candlestick, gantt, sparkline, radial, dial, race, grid); invalid fences degrade to escaped code blocks; sanitisation by construction (extracted beforemarked/DOMPurify,createElement+textContent); resource caps (40 labels / 12 series / 120 points / 240 cells); theme-adaptive, dark-mode-aware,prefers-reduced-motion; grouped-bar rendering fixed. +1 base toolcreate_chart_fence(server-side validator mirror) + thedesign-chart-recipesskill + byte-identical conformance fixtures across the three suites. Deferred (plan ยง12): race replay, SPA CSV copy,render_chart_previewREST, mermaid spike, a11y scan. - ๐ง Model Foundry Phase 1 โ Corpus Foundry (PR #7008, Proposal 067). +3 Pro tools โ
export_trajectory_corpus(harness traces โ OpenAI tool-calling rows),export_preference_pairs(DPO rows, R4,min_marginskip),export_plugin_docs_corpus(docs-hub uploads or a symlink-safe validated dir โdocs_v1rows with per-document provenance) โ behind the new deactivatablemodel_foundryPro module + theai_mlpreset. TheWP_MCP_AI_Corpus_Governanceengine is consent fail-closed (_wp_mcp_ai_training_consent; caps โ exact โ fuzzy โ opt-in semantic dedup โ PII scrub โ deterministic content-hash holdout split โ R12 provenance โ guarded sharded write โ holdout rows never entertrain.jsonl; skip-never-truncate). Consent UI ships in Phase 3 (wp_mcp_ai_model_foundry_assistant_consenteduntil then); Phases 0/2โ6 deferred in the implementation plan.mcp-ai-wpoos-model-foundryskill +docs/features/model-foundry.md. - ๐บ Content Graph explorer page in the Pro SPA (PR #6998).
#/knowledge-graphin the admin surface + standalone Vite app โ the plugin's Cytoscape explorer vendored with a documented wrapper-only delta (IIFE โ exported factory, jQuery-namespaced listeners,destroy()teardown, body byte-identical to upstream); jQuery bundled into the lazy 213 KB-gzip chunk. The CG plugin gains a read-onlyGET /graph/visual-configroute + assistant-credential read auth (write routes staymanage_options-only โ sub-project track, flag-not-edited; its own changelog/readme.txt updated in-window). Trade-off: the admin IIFE grows 563 KB โ 1.2 MB โ entry split deferred. - ๐ Standalone SPA deploy & auth hardening (PRs #6999, #7000, #7002, #7004, #7006). Cookie-mode login re-scoped through the proxy (absolute
wp-login.phpform actions/redirect_tobroke cross-host deploys โserve.mjsbuffers only the login page and rewrites them to the app origin; the Vite dev proxy mirrors it); the vendored explorer's$.ajaxcalls carry bearer/basic/guest/worker auth via a newajaxPrefilter(no vendored changes โ byte-identity preserved); tsconfig paths + CI build-verify unblock the Velocity deploy;serve.mjsgains a#!/usr/bin/env nodeshebang (Velocity executes the entry throughsh) + aserver.on('error')handler with anEADDRINUSEhint; the Velocity doc gains the entry-path callout. - ๐ก SPA static-server headers (PR #7009).
X-Content-Type-Options: nosniff+Strict-Transport-Security: max-age=86400on the static branch only (ramp to31536000after a clean week; noincludeSubDomains/preload); CSP Report-Only template ships commented (the inline Cloudflare challenge script would breakscript-src 'self'). - ๐ฝ F&B toolkit toggle restored (PR #7010).
enable_fnb_toolkitwas defined but never listed in thefeaturessubtab group โrender()only outputs fields in the active group, so the checkbox never appeared and the toolkit couldn't be enabled from the UI. Added to the subtab fields + memory map (64 MB) + footer counter; regression test; toolkit-count expectation 35 โ 36. - ๐ Docs & skills (this pass). User-directed partial
@sincereconciliation โ the literal@since 2.x.0placeholder family (never recorded in OI-1) corrected to its true shipped versions (1.1.43/1.1.51/1.1.54/1.2.4, blame-verified, incl. three@deprecatedlines) and the new model-foundry1.6.0+ chart-fence1.4.0tags corrected to1.2.4โ the mcp-apps1.9.xmodule family and all historical OI-1 groups stay parked (issue #5968). Coding-time skills 66 โ 69 in-window (design-chart-recipes,mcp-ai-wpoos-content-graph-spa,mcp-ai-wpoos-model-foundry); AGENTS.md + copilot-instructions updated by the introducing PRs, the README repo-map fold-in + the ยง1.5 design-* 34 โ 35 correction land here; in-window spa-ui/content-graph-spa/test-suite skill edits reconciled. - ๐ฆ Versioning โ bumped to 1.2.4 across all version-bearing files (plugin header,
WP_MCP_AI_VERSION,WP_MCP_AI_PRO_VERSION,package.json, readme.txt Stable tag). Pro addon: 1.2.4. No addon version moves in-window (content-graph 1.0.10, CG-AI 1.0.4, CG-AI-platform 2.0.0 ZIP rebuilds โ build-only, unchanged). Model catalog: v2026.10.03 (unchanged โ zero catalog diff). Tool count: ~354 base + ~1,342 Pro (~1,696 total โ +1 base +3 Pro) โcreate_chart_fence(#7005) + the three model-foundry exporters (#7008); live registry authoritative;lib/core/sub-project tools never counted. Provider count: 18 chat providers (unchanged). Addon count: 30 (unchanged). Bundled skills: 76 base + 41 Pro (unchanged). Coding-time agent skills: 66 โ 69. Security classes: 12 (unchanged). Stale build ZIPs removed: the 1.2.2 oOS root set (6 files โ 3 ZIPs + 3.sha256; the 1.2.3 set stays until the 1.2.4 ZIPs build).
v1.2.3 โ October 10, 2026
CORS Same-Origin Enforcement, Standalone SPA WordPress Login & REST Auth Fixes
- ๐ก CORS same-origin enforcement (PR #6986). WordPress core
rest_send_cors_headers()(rest_pre_serve_request, priority 10) reflects anyOriginheader back withAccess-Control-Allow-Credentials: trueon every REST response โ which silently overrode the Security โ Network "Same Origin" setting, so a hardened site still echoed arbitrary origins. The newWP_MCP_AI_CORS_Guard(12thincludes/security/class) hooks priority 20 and, insitemode, replaces the reflected header with the configured policy: exact-allowlisted origins (site origin + the newcors_allowed_originssetting, one origin per line + thewp_mcp_ai_cors_allowed_originsfilter) are echoed with credentials; everything else gets the site's own origin with credentials off;starmode keeps core's allow-all reflection. Enforcement covers the plugin's REST routes (/mcp-ai/v1by default, extensible viawp_mcp_ai_cors_guard_route_prefixes); the MCP/OPTIONS/SSE/controller emitters share oneresolve_allow_origin(). 20 new tests; 138 related REST/security tests pass. - ๐ Standalone SPA WordPress login (PR #6993, Proposal 064). A fourth auth mode for
examples/nvoos-pro-spa-viteโ WordPress login via an Application Password (Basic auth over REST):wp/v2/users/me?context=editvalidation with a UTF-8-safe Basic header, and the real user + capabilities mounted into the runtime, so the deployed app (chat.nvoos.cloud) gets the full admin surface with real server-side capability enforcement instead of the bearer mode's client-sidemanage_options. The Basic header attaches only to requests targeting the configured site origin (never the media worker or third parties). Plugin-side gaps fixed by live verification:chat_transcripts_permissions_check()skips the nonce for Authorization-header requests (CSRF-safe by construction), andpermissions_check()/permissions_check_assistant_list()gained Application Password branches (same capability gates, admin bypass + rate limiting intact). 39 PHPUnit tests; full live matrix verified. - ๐ฐ OOS streaming CORS fixed (PR #6993). The OOS engine's SSE emitter (
lib/coreSseHandler) sent no CORS headers โ every cross-origin browser chat stream on OOS-routed sites was blocked (pre-existing; bearer/guest modes too).WP_MCP_AI_CORS_Guard::emit_stream_cors_headers()fires from the WP adapter beforehandleChatStreaming();lib/corestays framework-agnostic. - ๐ SPA REST auth: credentials & session nonce (PR #6990 โ closes #6987, #6985). Transcripts/approvals now validate a pure assistant credential (Bearer
cred_โฆor raw header) via the sharedWP_MCP_AI_REST::validate_request_credential()โ reads scoped to the credential's issuing assistant (mismatchedassistant_idโ 403);approve/denystaymanage_options-only so a leaked credential can't bypass the HITL gate.handle_session_nonce()re-binds identity from the auth cookie (wp_validate_auth_cookie) beforewp_create_nonce()โ core'srest_cookie_check_errorshad zeroed the session user, so the minted nonce failedrest_cookie_invalid_nonceon retry; cookie-less requests still get the guest nonce. 10 new tests; 38/38 on WP 7.1.3 + WP 7.2-alpha. - ๐
Pro Schedule Manager multi-recipient
notify_email(PR #6991 โ closes #6642, #6651). Comma/space/semicolon-separated recipient lists normalize throughnormalize_notify_email()(reusingsanitize_email_recipients()behind theclass_existsguard) with per-address Symfony validation;plan_schedules_from_workflowuses the same normalizer; the create/edit inputs movedtype="email"โtype="text"with a comma-separated hint. The five CRM slugs land intool-status.txtasdev(OI-5 closed) and the pagination-fields fixture accumulation is fixed (setUp ordering โ #6975 item 3). 136/136 batch on WP 6.9 + 7.1.2. - ๐ Standalone SPA cookie mode + production proxy (PR #6994). Cookie mode died with a JSON parse error wherever the app origin had no proxy (the SPA fallback answers unknown paths with
index.html+ HTTP 200) โ a probe now verifies the origin serves the WP REST API andreadJson()refuses non-JSON with actionable errors. The zero-dependencyscripts/serve.mjsproduction proxy (/wp-json,/wp-admin,/wp-login.php,/wp-includeswhenNVOOS_TARGET_SITEis set) streams SSE, rewrites loginLocation/redirect_to, stripsSet-CookieDomain, and 502s cleanly on upstream failure;App/EmbeddedAppareReact.lazyin the shell (entry 501 KB โ 196 KB minified, 148 โ 63 KB gzip). - โ๏ธ
.envloading for the standalone SPA (PR #6996).defineConfig(({ mode }) => โฆ)+loadEnv(mode, envDir, '')(empty prefix โ non-VITE_keys load) soNVOOS_TARGET_SITE/NVOOS_WORKER_URLcome from.envfiles;scripts/dev.mjsresolves shell >.env>http://localhost:8000precedence;scripts/serve.mjsintentionally stays process-env-only (Velocity runtime env vars). - ๐ฆ npm package ESM dists fixed (PR #6984).
nvoos-slash-commands,nvoos-dom-batcher, andnvoos-audiopublished dists that were syntactically invalid ESM (exportstatements inside unclosed IIFEs โ the strip regexes anchored at^missed docblock-led sources). Generators fixed, all 22 manifests modernized to"type": "module"(CJS scripts โadapt-for-npm.cjs), all 23 packages rebuilt with valid dists, and the newexamples/nvoos-vite-demo/(Vite + TS sample over 8 packages with a dev-only mock SSE server) ships. The three fixed packages bump to0.1.0-alpha.4โ publish deferred (needs npm auth), then the demo'svendor/aliases drop. - ๐ Build (#6988/#6995). The spa-standalone sync/deploy workflows pin
mainat git init (git init -q -b mainโ baregit initnamed the branch frominit.defaultBranch, so the push died withrefspec main does not match) and assemble the deploy tree underexamples/so Velocity's root directory findspackage.json(chat.nvoos.cloud was stuck serving the initial build). - ๐ Docs (#6989, #6992). The CORS guard + `docs/operations/deployment/nvoos-pro-sp