Release Notes — v0.4.0 (November 8, 2026)
Feature release. v0.4.0 turns Enezaframework into an AI-first framework: a relational database, a reporting and dashboard stack, and a governed AI subsystem that share one permission model. Run the new migrations and the seeding commands listed under Upgrading before relying on the AI surfaces.
This release completes the enezaagents subsystem that started in v0.2.19. It adds a
contextual assistant on every page, a multi-agent AI Workspace, AI-authored reports and
dashboards, natural-language data interrogation, AI-created records with human approval,
document intelligence, registry-driven model awareness, and a security layer that applies
the same entity scope, RBAC, field policy and audit rules to people and to agents.
1. The AI-first data experience
Enezaframework now combines a relational database with AI capability instead of bolting a chat window onto a traditional application:
- AI reports. The Report Builder creates report drafts from a business description and the Report Designer Assistant proposes corporate document designs for the report that is open in the designer.
- AI dashboards. The Dashboard Builder creates dashboard drafts from a description, reuses seeded sample layouts, and places KPI, chart and table widgets on the grid.
- Natural-language data interrogation. The query engine translates a structured query plan into an ORM query over registered models, with operator and aggregate allowlists, field policies, entity scoping and row limits.
- AI-created data with approval. Agents propose creates and updates as
Actionrecords. Nothing is written until a permitted user accepts and applies the proposal. - Governed by design. Every AI surface runs through the same guardrails, refusal modes, redaction, workflow guard and audit trail described in section 6.
2. Agent Assistance and the AI Workspace
- Agent Assistance adds the Ask assistant launcher to framework list and detail pages and can be embedded in custom templates. It answers questions about the current page or record, explains related data, and prepares proposals.
- AI Workspace (
Agents › AI Workspace) provides persistent multi-agent conversations with an orchestrator agent, specialist agents, attachments, streamed answers, conversation history, stop/retry controls, task tracking and a proposal review panel. - New
ConversationandMessagemodels persist channel, page, module, agent, status and run linkage, so a conversation can be resumed and audited later. - Workspace chat supports copying tables and exporting them to Excel.
- Built-in agents are seeded and marked
is_builtin: Contextual Assistant, Dashboard Builder, Report Builder, Report Designer Assistant and Workspace Orchestrator.
3. Registry: teaching the AI about your data
The new registry (enezaagents/registry/) is how an application tells the AI subsystem what
exists and what is allowed:
ApplicationRegistration,ModelRegistration,FieldPolicy,RelationshipandBusinessActionregistry models, with cached schemas for fast prompt construction.- Developer decorators:
@ai_model,ai_relationship,ai_business_action,ai_tool,ai_context_providerand@ai_agent. manage.pydiscovery and cache commands keep the registry in sync with installed apps.- Business language configuration maps technical model and field names to the vocabulary the business actually uses in prompts and answers.
4. Capabilities and tools
enezaagents/capabilities/ provides the reusable capabilities that agents call:
- Metadata and schema lookup, record query, record create/update proposals, business actions, workflow inspection, report and dashboard builders, document operations, task management, follow-up suggestions and audit logging.
- A central executor with a tool router, allowlists, redaction and error normalization.
- Task lifecycle for long-running AI work: queue, run, pause, resume, retry, cancel, complete
and fail, backed by the
Taskmodel. enezaagents/tools/catalog.pyexposes the tool catalogue used by the setup screens.
5. Document Intelligence
enezaagents/document_intelligence/ adds a full document pipeline:
- Parsers for PDF, DOCX, Excel, CSV, text and images, with optional OCR.
- Classification into categories, with configurable classification sources.
- Extraction schemas and analysis templates compiled into structured output schemas.
- Evidence and provenance for extracted values: page, sheet, excerpt, offsets, confidence and method.
- Operations: classify, extract, analyze, summarize, query, compare, reconcile, completeness-check, duplicate-check, validate-record and create-record.
- Processing jobs record status, warnings, errors, results and evidence, and are visible in AI Audit › Document Jobs.
Document,DocumentContent,DocumentExtractionSchema,DocumentAnalysisTemplate,DocumentProcessingJoband related models with migrations0011–0012.
6. Security and guardrails
AI access is not a bypass around the application's security model:
enezaagents/security/guardrails.pyenforces protected models, apps and fields, neutral versus transparent refusal modes, and anAccessDeniedpath that never leaks why a record was hidden.policy.pyapplies RBAC privileges, entity scope, field policies and read/write/delete verbs per model for the acting user.redaction.pyremoves API keys, passwords, tokens, secrets and credentials from tool payloads and audit summaries.output_guard.pyvalidates model output before it reaches the UI, andworkflow_guard.pyprevents agents from bypassing workflow transitions.enezaagents/audit_access.py,views/audit.pyandviews/audit_mixins.pyexpose AI Audit: conversations, messages, runs, document jobs andAIAuditLogevents.- RBAC seeds AI roles and privileges, including
AI_AUDITOR, Agent Administrator and per-action gates such asaction.enezaagents.workspaceandaction.enezaagents.action_apply. - Every proposed data change requires an explicit human accept-and-apply step.
7. AI Insights dashboards
enezaagents/dashboards.py and enezaagents/reports.py seed three sealed dashboards:
- Personal — the signed-in user's runs, success/failure, tokens, latency and trends.
- Auditor — entity-wide usage, top users, modules affected, documents processed and audit events.
- Admin — entity-wide usage plus cost by user, model, module and time.
Normal users only see their own runs; the auditor dashboard requires AI_AUDITOR and the
admin dashboard requires the System Administrator role.
8. Models and migrations
New models across the release: conversations and messages, registry entries and field
policies, tasks, AI audit logs, documents and document-processing records, plus run metric
and cost fields on AgentRun.
Run all new migrations, including:
enezaagents/0002through0014enezareporting/0006_reportdatasource_agent_context.pyenezaadminstrator/0003_calendar_event_source.pyenezarbac/0006through0013(AI roles, privileges and menu routing)enezanotification/0008
9. Management commands
ai_backfill_run_metrics— backfill token, latency and cost metrics on historical runs.sync_report_data_sourcesandseed_dashboards --module enezaagents— create the AI report data sources and AI Insights dashboards.- AI registry discovery and cache commands (see the Administrator Guide).
rbac_bootstrapnow seeds the AI roles and privileges; use--reset-functionalafter upgrading.
10. Settings
New environment-driven settings include:
AI_COST_INPUT_PER_1M,AI_COST_OUTPUT_PER_1M,AI_COST_CURRENCYAI_REFUSAL_MODE(OPAQUEby default, orTRANSPARENT)AI_PROTECTED_MODEL_LABELS,AI_PROTECTED_APP_LABELS,AI_PROTECTED_FIELD_NAMESAI_ACTIVITY_MODEL_LABELS
See the AI Agents Administrator Guide for the full configuration surface.
11. Documentation
- New AI Agents series under
docs/Documentions/AI Agents/: index, end-user guide, administrator guide, custom-template guide, agent instructions, dashboard builder, report design recommendations and document processing. - New workspace, audit, design-recommendation and document-processing review documents under
docs/Documentions/AI Agents/.
Upgrading from 0.3.x
- Install
enezaframework==0.4.0. - Run
python manage.py migrate. - Run
python manage.py rbac_bootstrap --reset-functional. - Run
python manage.py ai_backfill_run_metrics. - Run
python manage.py sync_report_data_sources. - Run
python manage.py seed_dashboards --module enezaagents. - Configure at least one
LLMProviderandModelConfiguration, then assign it to a seeded or custom agent and publish the agent version. - Review the protected-model, protected-field and refusal settings before exposing AI surfaces to end users.
Packaging
- Version bumped to
0.4.0insetup.py,eneza/__init__.pyandeneza/templates/project/requirements.txt. - Generated projects now require
enezaframework==0.4.0. - New runtime dependencies:
openpyxl,pydantic-ai-slim[openai,anthropic],httpx,markdown,bleach,pypdf,pdfplumber,xhtml2pdf,python-docx,pypdfium2andrapidocr-onnxruntime. Theollamapackage is no longer required. - Optional
ocrextra installspytesseract>=0.3. Tesseract is an alternative backend and still requires thetesseract-ocrsystem package; RapidOCR (rapidocr-onnxruntime) is the default bundled backend.
Validation
Per project rules, the developer or agent does not run or claim test results. The user is solely responsible for all testing and validation of migrations, AI provider connectivity, report and dashboard generation, document processing, RBAC, audit and guardrail behaviour.