Interested in an on-premise deployment or AI transformation? Calculate your AI costs. Call/text 📞 (571) 293-0242
Back to Updates

Week of April 24 – May 1, 2026

ibl.ai EngineeringMay 1, 2026
Application

AI grading with weighted rubrics, student demographics system, video generation via Google Veo, mentor-scoped API restructuring, and MCP content sanitization.

Weekly technical summary of new agentic and enterprise capabilities.

Frontend

UI Components

  • Agent Search & Discovery Architecture — Complete migration of agent tabs, search interface, and discovery components to web-containers SDK. New AgentCard component with starring functionality, AgentSearchFilters with multi-faceted filtering, and sectioned layout (custom, default, featured, starred agents). Full test coverage with 35+ new test files. Components: AgentCard, AgentSearchInput, AgentSearchFilters, AgentEmptyState, plus dedicated sections for each agent type with pagination support.

  • Course Content Discovery Components — Skills discover page sub-components migrated to SDK including DiscoverContentCard, DiscoverFacetsFilter, AccessiblePaginate, and DiscoverFilterDrawer with complete test coverage. New useDiscover hook with 330+ lines of test coverage for faceted search and pagination logic.

  • Enhanced Audit Log Interface — Humanized field names with explicit label mapping, directional verbs for boolean toggles, preserved mentor unique IDs for disambiguation, and defensive fallbacks for unmapped fields. Client-side filtering safety net prevents audit log action leakage when backend filters fail.

Data Layer

  • Paginated Mentor Memories API — New useGetMentorMemoriesListQuery endpoint backed by /mentor-memories-list/ with filtering by category, user, date range, and ownership. Supports page, page_size, category, my_memory, user_id, email, start_date, end_date parameters.

  • Cross-Frame Communication — Proactive messaging via PostMessage API for seamless unit switching on skills platform, enabling silent context messages between iframe and parent application. EventBus extension with new message handlers for cross-frame state synchronization.

Backend

AI Grading System

  • Submission-Based Grading Architecture — Complete AI grading system with MentorGraderConfiguration and GraderCriterion models. Configurable weighted rubric with strict validation, inner LLM service for rubric evaluation, and GradeResult persistence with optional LMS publishing. New Grading langchain toolkit with grade_submission tool, edX integration, silent_to_user tool flag support.

  • Grader Configuration CRUD API — Admin endpoints for managing grader configurations at /mentors/{uuid}/grader-config/ and criteria at /mentors/{uuid}/grader-config/criteria/. Three-mode feedback system (overall / per_criteria / both) with runtime validation. RBAC enforcement via mentor-rooted resource paths, paginated criteria endpoints with search capability.

Data Model

  • Student Demographics System — Comprehensive demographics with built-in fields (gender, ethnicity, DOB, language, nationality, disability) plus platform-specific custom fields (text, number, date, boolean, select). REST API with bulk export/import as JSON or CSV. Models: UserDemographics, DemographicsFieldDefinition, UserDemographicsCustomValue with validation service layer.

  • Memory System Optimization — Legacy memory system removal, paginated /mentor-memories-list/ endpoint, and exclusive memsearch approach via abuild_system_prompt(). Tenant memory enabled by default. Fixes AttributeError in mentor consumer chat, handles timeout issues on mentors with extensive memory histories.

API Changes

  • Mentor-Scoped API Restructuring — Flat endpoints replaced with nested UUID-addressed surfaces: /orgs/{org}/mentors/{uuid}/agent-config/, /claw-config/, /skills/. AgentSkill.unique_id UUIDField for symmetric skill references. Tenant isolation via resolve_mentor_for_tenant(), Django UUID converter validation, RBAC resource path updates.

  • File Upload Context — System prompts now include an "Uploaded Files:" section with names and URLs when users upload files in chat, enabling LLM file location references. Integration with chat message flow and URL generation service.

Security Capabilities

  • Authentication Header Protection — Structural redaction of Authorization and sibling auth headers (X-Api-Key, X-Auth-Token, Api-Key) in tool-call display. Headers collapse to uniform markers before token-shape regex processing. Context-based extractor for header patterns, basic-auth shorthand, SHA-256-shape token detection with entropy guards.

  • MCP Content Sanitization — Zero-trust MCPContentSanitizer for all MCP tool outputs. HTML tag stripping via Django's strip_tags(), content wrapped with instruction-separation markers. New utility module ibl_ai_mentor/utils/mcp_security.py with prompt injection defense.

Infrastructure

Platform Services

  • Rate Limiting Framework — Per-tenant hourly rate limiting for image and video generation (default 10/hour each). Configurable limits via admin/platform API, tool removal when quota exhausted, WebSocket warning messages. Django cache-based usage tracking, tenant-specific quota overrides, zero-limit disable option.

  • Video Generation Tool — Google Veo integration for LangChain agents with VideoGenerationTool. VeoVideo model with markdown representation, Vertex AI and Gemini Developer API support. Streaming and final-response paths, video.partial WebSocket events, Langfuse cost reporting via cost_details.

  • Notification System Enhancement — Free-form template tagging with OR-logic filtering via ?tags= parameter. Distinct tags endpoint for autocomplete, optional pagination on template lists, course milestone notification debouncing. JSONField validation, 60-second debounce with cache lock, single email for highest milestone reached.

HQ SPA Integration

  • HQ SPA Integration — New ibl-hq-spa-pro service served at /hq subpath under auth domain. Complete compose configuration, environment files, and reverse proxy upstream integration. Port 5004, Next.js basePath: '/hq', wired into spa.conf with hq_spa upstream definition.

  • Configurable Upload Limits — Service-level CLIENT_MAX_BODY_SIZE configuration for reverse proxy apps. Templated via IBL_REVERSE_PROXY settings preserving existing defaults (250M, 25M, 2M, 1M). Affects ibl_dm_pro, ibl_status_pro, cms, lms, mfe, meilisearch, monitor, notes, spa_flags, status, unified_api.

DevOps Automation

  • Client Repository Sync Workflow — GitHub Actions workflow for syncing tagged CLI versions to client monorepos with artifact stripping (.git/, .github/, .claude/, *.md except README). Guard file verification, force-push protection, dry-run capability, fine-grained PAT security.

  • Monorepo Support — Infrastructure CLI supports repo/subdir form for cli-ops and prod-images installs from client monorepos via subdirectory parameter in pip URLs. parse_repo_path() function, Ansible extra-vars flow, backward-compatible bare repo handling.

Documentation

  • Skill Documentation Consolidation — Single reference skill-setup.md for consistent skill configuration across all iblai-* skills. Standardized API documentation format for analytics, notification, and agent-memory skills. Centralized setup instructions with per-skill references, comprehensive API endpoint documentation. See Skills Setup.

  • MCP Documentation Update — Updated Model Context Protocol documentation in iblai-agent-tool skill with current implementation details and usage patterns. Technical implementation guidance for MCP server configuration and tool integration. See MCP Documentation.

REST API Changelog (iblai-dm-pro)

Schema version: 4.234.0-ai-plus → 4.243.1-ai-plus

🆕 New Endpoints

  • GET/PATCH /api/ai-mentor/orgs/{org}/mentors/{mentor_unique_id}/agent-config/ — Mentor-scoped agent configuration management
  • GET/PATCH/DELETE /api/ai-mentor/orgs/{org}/mentors/{mentor_unique_id}/claw-config/ — Mentor-scoped Claw configuration
  • POST /api/ai-mentor/orgs/{org}/mentors/{mentor_unique_id}/claw-config/push-config/ — Push Claw configuration action
  • GET/POST /api/ai-mentor/orgs/{org}/mentors/{mentor_unique_id}/skills/ — Mentor skill assignment collection
  • GET/PUT/PATCH/DELETE /api/ai-mentor/orgs/{org}/mentors/{mentor_unique_id}/skills/{assignment_pk}/ — Individual skill assignment management
  • GET /api/ai-mentor/orgs/{org}/users/{user_id}/mentors/{mentor_id}/mentor-memories-list/ — Paginated mentor memories with filtering
  • GET /api/notification/v1/platforms/{platform_key}/templates/tags/ — Distinct notification template tags for autocomplete

🗑️ Removed Endpoints

  • /api/ai-mentor/orgs/{org}/agent-configs/ and /{id}/ — Replaced by mentor-scoped endpoints
  • /api/ai-mentor/orgs/{org}/claw/mentor-configs/ and /{id}/ — Replaced by mentor-scoped endpoints
  • /api/ai-mentor/orgs/{org}/claw/mentor-configs/{id}/push-config/ — Moved to mentor-scoped structure
  • /api/ai-mentor/orgs/{org}/mentor-skill-assignments/ and /{id}/ — Replaced by mentor-scoped skills endpoints