| """ |
| ARF Ultimate Demo - OSS + Enterprise Showcase |
| Demonstrates the full spectrum from OSS (free) to Enterprise (paid) |
| |
| OSS: Creates HealingIntent recommendations only |
| Enterprise: Actually executes with safety, learning, audit trails |
| """ |
|
|
| import asyncio |
| import datetime |
| import json |
| import logging |
| import time |
| import uuid |
| from typing import Dict, Any, Optional, List |
| import hashlib |
|
|
| import gradio as gr |
| import numpy as np |
|
|
| |
| try: |
| from agentic_reliability_framework.arf_core.models.healing_intent import ( |
| HealingIntent, |
| create_rollback_intent, |
| create_restart_intent, |
| create_scale_out_intent, |
| ) |
| from agentic_reliability_framework.arf_core.engine.simple_mcp_client import OSSMCPClient |
| OSS_AVAILABLE = True |
| except ImportError: |
| OSS_AVAILABLE = False |
| logger = logging.getLogger(__name__) |
| logger.warning("OSS package not available. Install: pip install agentic-reliability-framework==3.3.6") |
|
|
| |
| |
| |
|
|
| class MockLicenseTier: |
| """Mock license tiers matching enterprise code""" |
| STARTER = "starter" |
| PROFESSIONAL = "professional" |
| ENTERPRISE = "enterprise" |
| TRIAL = "trial" |
| PLATFORM = "platform" |
|
|
| class MockMCPMode: |
| """Mock MCP modes matching enterprise code""" |
| ADVISORY = "advisory" |
| APPROVAL = "approval" |
| AUTONOMOUS = "autonomous" |
|
|
| class MockLicenseManager: |
| """Mock license manager based on enterprise code""" |
| |
| @staticmethod |
| def validate_license(license_key: str) -> Dict[str, Any]: |
| """Mock license validation""" |
| if license_key.startswith("ARF-TRIAL-"): |
| return { |
| "valid": True, |
| "customer_name": "Demo Corporation", |
| "customer_email": "demo@example.com", |
| "tier": MockLicenseTier.TRIAL, |
| "expires_at": datetime.datetime.now() + datetime.timedelta(days=14), |
| "features": ["advisory_mode", "approval_mode", "autonomous_mode", "learning_engine"], |
| "max_services": 10, |
| "max_incidents_per_month": 5000, |
| "error": None, |
| } |
| elif license_key.startswith("ARF-ENT-DEMO-"): |
| return { |
| "valid": True, |
| "customer_name": "Enterprise Demo Corp", |
| "customer_email": "enterprise@demo.com", |
| "tier": MockLicenseTier.ENTERPRISE, |
| "expires_at": datetime.datetime.now() + datetime.timedelta(days=365), |
| "features": [ |
| "advisory_mode", "approval_mode", "autonomous_mode", |
| "learning_engine", "full_audit_trail", "soc2_compliance", |
| "gdpr_compliance", "hipaa_compliance", "24_7_support" |
| ], |
| "max_services": None, |
| "max_incidents_per_month": 100000, |
| "error": None, |
| } |
| else: |
| return { |
| "valid": False, |
| "customer_name": "", |
| "customer_email": "", |
| "tier": MockLicenseTier.STARTER, |
| "expires_at": None, |
| "features": [], |
| "max_services": None, |
| "max_incidents_per_month": None, |
| "error": "Invalid license key", |
| } |
|
|
| class MockAuditTrail: |
| """Mock audit trail based on enterprise code""" |
| |
| def __init__(self): |
| self.entries = [] |
| |
| def record(self, action: str, component: str, details: Dict[str, Any]) -> str: |
| """Mock audit recording""" |
| audit_id = f"audit_{int(time.time())}_{hashlib.md5(action.encode()).hexdigest()[:8]}" |
| entry = { |
| "audit_id": audit_id, |
| "timestamp": datetime.datetime.now().isoformat(), |
| "action": action, |
| "component": component, |
| "details": details, |
| "compliance_tags": ["SOC2", "GDPR"] if "compliance" in action else [] |
| } |
| self.entries.append(entry) |
| return audit_id |
|
|
| class MockEnterpriseMCPServer: |
| """ |
| Mock Enterprise MCP Server showing full capabilities |
| |
| Based on actual enterprise code structure but with mock execution |
| for demo purposes. |
| """ |
| |
| def __init__(self, license_key: str): |
| self.license_manager = MockLicenseManager() |
| self.license_info = self.license_manager.validate_license(license_key) |
| |
| if not self.license_info["valid"]: |
| raise ValueError(f"Invalid license: {self.license_info.get('error')}") |
| |
| self.audit_trail = MockAuditTrail() |
| self.enable_learning = "learning_engine" in self.license_info["features"] |
| self.allowed_modes = self._get_allowed_modes() |
| self.default_mode = self._get_default_mode() |
| |
| |
| self.execution_stats = { |
| "total_executions": 0, |
| "successful_executions": 0, |
| "failed_executions": 0, |
| "pending_approvals": 0, |
| "rejected_requests": 0, |
| } |
| |
| def _get_allowed_modes(self) -> List[str]: |
| """Get allowed execution modes based on license""" |
| features = self.license_info["features"] |
| modes = ["advisory"] |
| |
| if "approval_mode" in features: |
| modes.append("approval") |
| if "autonomous_mode" in features: |
| modes.append("autonomous") |
| |
| return modes |
| |
| def _get_default_mode(self) -> str: |
| """Get default execution mode based on license""" |
| features = self.license_info["features"] |
| |
| if "autonomous_mode" in features: |
| return MockMCPMode.AUTONOMOUS |
| elif "approval_mode" in features: |
| return MockMCPMode.APPROVAL |
| else: |
| return MockMCPMode.ADVISORY |
| |
| async def execute_healing_intent( |
| self, |
| healing_intent: Dict[str, Any], |
| mode: Optional[str] = None, |
| user_approver: Optional[str] = None |
| ) -> Dict[str, Any]: |
| """ |
| Mock execution of healing intent |
| |
| Shows what enterprise actually does vs OSS advisory-only |
| """ |
| execution_id = f"exec_{uuid.uuid4().hex[:16]}" |
| start_time = time.time() |
| |
| |
| execution_mode = mode or self.default_mode |
| |
| |
| if execution_mode not in self.allowed_modes: |
| return { |
| "success": False, |
| "message": f"Mode {execution_mode} not allowed by license", |
| "license_tier": self.license_info["tier"], |
| } |
| |
| |
| audit_id = self.audit_trail.record( |
| action="intent_received", |
| component=healing_intent["component"], |
| details={ |
| "intent_id": healing_intent.get("intent_id"), |
| "execution_id": execution_id, |
| "action": healing_intent["action"], |
| "mode": execution_mode, |
| } |
| ) |
| |
| |
| if execution_mode == MockMCPMode.ADVISORY: |
| result = await self._handle_advisory_mode(healing_intent) |
| elif execution_mode == MockMCPMode.APPROVAL: |
| result = await self._handle_approval_mode(healing_intent, user_approver) |
| elif execution_mode == MockMCPMode.AUTONOMOUS: |
| result = await self._handle_autonomous_mode(healing_intent) |
| else: |
| result = { |
| "success": False, |
| "message": f"Unknown mode: {execution_mode}", |
| } |
| |
| |
| self.execution_stats["total_executions"] += 1 |
| if result.get("success"): |
| self.execution_stats["successful_executions"] += 1 |
| else: |
| self.execution_stats["failed_executions"] += 1 |
| |
| |
| if self.enable_learning and result.get("executed"): |
| self._record_learning(healing_intent, result) |
| |
| |
| self.audit_trail.record( |
| action="execution_completed", |
| component=healing_intent["component"], |
| details={ |
| "intent_id": healing_intent.get("intent_id"), |
| "execution_id": execution_id, |
| "success": result.get("success", False), |
| "execution_time": time.time() - start_time, |
| "audit_trail_id": audit_id, |
| } |
| ) |
| |
| return { |
| **result, |
| "execution_id": execution_id, |
| "execution_mode": execution_mode, |
| "license_tier": self.license_info["tier"], |
| "enterprise_features_used": self._get_features_used(execution_mode), |
| "audit_trail_id": audit_id, |
| "learning_recorded": self.enable_learning and result.get("executed"), |
| } |
| |
| async def _handle_advisory_mode(self, intent: Dict[str, Any]) -> Dict[str, Any]: |
| """Enterprise-enhanced advisory mode""" |
| return { |
| "success": True, |
| "message": f"Enterprise advisory analysis for {intent['action']} on {intent['component']}", |
| "oss_analysis": { |
| "would_execute": True, |
| "confidence": 0.85, |
| "recommendation": f"Execute {intent['action']}", |
| }, |
| "enterprise_enhancements": { |
| "historical_success_rate": 0.92, |
| "similar_incidents_count": 15, |
| "recommended_mode": "autonomous" if intent.get("confidence", 0) > 0.9 else "approval", |
| "estimated_roi": "$12,500", |
| }, |
| "executed": False, |
| } |
| |
| async def _handle_approval_mode(self, intent: Dict[str, Any], user_approver: str = None) -> Dict[str, Any]: |
| """Approval workflow (Enterprise-only)""" |
| approval_id = f"appr_{uuid.uuid4().hex[:16]}" |
| self.execution_stats["pending_approvals"] += 1 |
| |
| return { |
| "success": True, |
| "message": f"Approval requested for {intent['action']} on {intent['component']}", |
| "approval_id": approval_id, |
| "approval_url": f"/api/approve/{approval_id}", |
| "status": "pending_approval", |
| "requested_by": user_approver or "system", |
| "estimated_wait_time": "2-5 minutes", |
| "executed": False, |
| "requires_approval": True, |
| } |
| |
| async def _handle_autonomous_mode(self, intent: Dict[str, Any]) -> Dict[str, Any]: |
| """Autonomous execution (Enterprise-only)""" |
| |
| execution_time = np.random.uniform(0.5, 2.0) |
| success_rate = 0.95 |
| |
| success = np.random.random() < success_rate |
| |
| if success: |
| return { |
| "success": True, |
| "message": f"β
Successfully executed {intent['action']} on {intent['component']}", |
| "execution_details": { |
| "action_performed": intent["action"], |
| "component": intent["component"], |
| "parameters": intent.get("parameters", {}), |
| "execution_time_seconds": execution_time, |
| "resources_affected": 3, |
| "users_impacted": 1250, |
| }, |
| "executed": True, |
| "requires_approval": False, |
| } |
| else: |
| return { |
| "success": False, |
| "message": f"β οΈ Execution partially failed for {intent['action']}", |
| "execution_details": { |
| "error": "Resource temporarily unavailable", |
| "fallback_action": "scaled_backup_service", |
| "execution_time_seconds": execution_time, |
| }, |
| "executed": True, |
| "requires_approval": False, |
| } |
| |
| def _record_learning(self, intent: Dict[str, Any], result: Dict[str, Any]) -> None: |
| """Mock learning engine (Enterprise-only)""" |
| |
| pass |
| |
| def _get_features_used(self, mode: str) -> List[str]: |
| """Get enterprise features used in this execution""" |
| features = ["audit_trail"] |
| |
| if mode == MockMCPMode.APPROVAL: |
| features.append("approval_workflow") |
| elif mode == MockMCPMode.AUTONOMOUS: |
| features.append("autonomous_execution") |
| features.append("safety_guardrails") |
| |
| if self.enable_learning: |
| features.append("learning_engine") |
| |
| return features |
| |
| def get_server_status(self) -> Dict[str, Any]: |
| """Get server status""" |
| return { |
| "status": "operational", |
| "edition": "enterprise", |
| "license": { |
| "customer": self.license_info["customer_name"], |
| "tier": self.license_info["tier"], |
| "valid": self.license_info["valid"], |
| "features": self.license_info["features"][:5], |
| }, |
| "capabilities": { |
| "modes": self.allowed_modes, |
| "learning_enabled": self.enable_learning, |
| "audit_enabled": True, |
| "execution_enabled": True, |
| }, |
| "statistics": self.execution_stats, |
| } |
|
|
| |
| |
| |
|
|
| DEMO_SCENARIOS = { |
| "π¨ Black Friday Crisis (Enterprise)": { |
| "description": "Payment processing failing during peak. $500K/minute at risk.", |
| "component": "payment-service", |
| "latency": 450, |
| "error_rate": 0.22, |
| "enterprise_license": "ARF-ENT-DEMO-PROD", |
| "recommended_mode": "autonomous", |
| "story": """ |
| **ENTERPRISE SCENARIO: Black Friday Payment Crisis** |
| π° **Revenue at Risk:** $500,000 per minute |
| π₯ **Users Impacted:** 45,000 concurrent customers |
| π₯ **Status:** CRITICAL |
| |
| **What OSS would do:** |
| - Analyze metrics and create HealingIntent |
| - Recommend rollback or restart |
| - Stop at advisory (no execution) |
| |
| **What Enterprise does:** |
| 1. π **Detects** anomaly in 0.8 seconds |
| 2. π§ **Analyzes** 15 similar historical incidents |
| 3. β‘ **Executes** autonomous scaling (saves $1.8M) |
| 4. π **Learns** from outcome for next time |
| 5. π **Audits** everything for compliance |
| |
| **Enterprise Value:** $2.5M protected in 5 minutes |
| """ |
| }, |
| |
| "β‘ Database Meltdown (Approval Workflow)": { |
| "description": "Connection pool exhausted. Requires human approval.", |
| "component": "database", |
| "latency": 850, |
| "error_rate": 0.35, |
| "enterprise_license": "ARF-ENT-DEMO-PROD", |
| "recommended_mode": "approval", |
| "story": """ |
| **ENTERPRISE SCENARIO: Database Crisis** |
| β οΈ **Impact:** 12 services affected (cascading) |
| πΈ **Cost:** $1.2M/hour revenue impact |
| π‘οΈ **Safety:** High-risk action requires approval |
| |
| **OSS Limitation:** Can only recommend action |
| |
| **Enterprise Capabilities:** |
| 1. π **Root cause** identified in 1.2 seconds |
| 2. π₯ **Approval request** sent to on-call engineer |
| 3. β
**Human approves** with one click |
| 4. β‘ **Auto-executes** database failover |
| 5. π **Saves $850K** in revenue |
| 6. π **Full audit trail** for compliance |
| |
| **Safety First:** High-risk actions always require human approval |
| """ |
| }, |
| |
| "π Error Rate Spike (OSS Advisory)": { |
| "description": "Error rate increasing. OSS advisory analysis only.", |
| "component": "api-service", |
| "latency": 120, |
| "error_rate": 0.25, |
| "enterprise_license": None, |
| "recommended_mode": "advisory", |
| "story": """ |
| **OSS SCENARIO: Error Rate Analysis** |
| π **Analysis:** Error rate at 25% (critical threshold) |
| π€ **OSS Action:** Creates HealingIntent for rollback |
| π **Limitation:** Cannot execute (advisory only) |
| |
| **OSS Output:** |
| - HealingIntent created with 78% confidence |
| - Recommends rollback to previous version |
| - Requires Enterprise upgrade for execution |
| |
| **Upgrade to Enterprise for:** |
| β
**Autonomous execution** with safety guardrails |
| β
**Learning engine** that improves over time |
| β
**Audit trails** for compliance (SOC2/GDPR) |
| β
**24/7 support** for mission-critical systems |
| |
| **Try Enterprise mode with the demo license above!** |
| """ |
| }, |
| } |
|
|
| |
| |
| |
|
|
| async def analyze_with_oss( |
| component: str, |
| latency: float, |
| error_rate: float, |
| scenario_name: str = "OSS Demo" |
| ) -> Dict[str, Any]: |
| """ |
| OSS-only analysis (advisory) |
| |
| Shows what the free OSS edition provides |
| """ |
| if not OSS_AVAILABLE: |
| return { |
| "status": "OSS_UNAVAILABLE", |
| "message": "OSS package not installed. This demo requires agentic-reliability-framework==3.3.6", |
| "requires_enterprise": False |
| } |
| |
| try: |
| |
| action = None |
| healing_intent = None |
| |
| if error_rate > 0.2: |
| action = "rollback" |
| healing_intent = create_rollback_intent( |
| component=component, |
| revision="previous", |
| justification=f"High error rate ({error_rate*100:.1f}%) detected", |
| incident_id=f"oss_{int(time.time())}" |
| ) |
| elif latency > 200: |
| action = "restart_container" |
| healing_intent = create_restart_intent( |
| component=component, |
| justification=f"High latency ({latency:.0f}ms) detected", |
| incident_id=f"oss_{int(time.time())}" |
| ) |
| else: |
| action = "scale_out" |
| healing_intent = create_scale_out_intent( |
| component=component, |
| scale_factor=2, |
| justification="Performance degradation detected", |
| incident_id=f"oss_{int(time.time())}" |
| ) |
| |
| |
| client = OSSMCPClient() |
| mcp_result = await client.execute_tool({ |
| "tool": action, |
| "component": component, |
| "parameters": {}, |
| "justification": healing_intent.justification, |
| "metadata": { |
| "scenario": scenario_name, |
| "latency": latency, |
| "error_rate": error_rate, |
| "oss_edition": True |
| } |
| }) |
| |
| return { |
| "status": "OSS_ADVISORY_COMPLETE", |
| "healing_intent": healing_intent.to_enterprise_request(), |
| "oss_analysis": mcp_result, |
| "confidence": healing_intent.confidence, |
| "requires_enterprise": True, |
| "message": f"β
OSS analysis complete. Created HealingIntent for {action} on {component}.", |
| "enterprise_upgrade_url": "https://arf.dev/enterprise", |
| "enterprise_features": [ |
| "Autonomous execution", |
| "Approval workflows", |
| "Learning engine", |
| "Persistent storage", |
| "Audit trails", |
| "Compliance reporting", |
| "24/7 support" |
| ] |
| } |
| |
| except Exception as e: |
| return { |
| "status": "OSS_ERROR", |
| "message": f"β OSS analysis failed: {str(e)}", |
| "requires_enterprise": False |
| } |
|
|
| async def execute_with_enterprise( |
| healing_intent: Dict[str, Any], |
| license_key: str, |
| mode: str = "autonomous", |
| user_approver: str = "demo_user" |
| ) -> Dict[str, Any]: |
| """ |
| Enterprise execution demo |
| |
| Shows what licensed enterprise users get |
| """ |
| try: |
| |
| server = MockEnterpriseMCPServer(license_key) |
| |
| |
| result = await server.execute_healing_intent( |
| healing_intent=healing_intent, |
| mode=mode, |
| user_approver=user_approver |
| ) |
| |
| |
| result["server_status"] = server.get_server_status() |
| |
| return result |
| |
| except Exception as e: |
| return { |
| "success": False, |
| "message": f"Enterprise execution failed: {str(e)}", |
| "server_status": {"status": "error", "error": str(e)} |
| } |
|
|
| def calculate_enterprise_roi( |
| monthly_revenue: float, |
| monthly_incidents: int = 20, |
| team_size: int = 3 |
| ) -> Dict[str, Any]: |
| """ |
| Calculate enterprise ROI based on real data |
| """ |
| |
| traditional_mttr = 45 |
| arf_mttr = 2.3 |
| auto_heal_rate = 0.817 |
| |
| |
| engineer_hourly = 100 |
| revenue_per_minute = monthly_revenue / (30 * 24 * 60) * 0.3 |
| |
| |
| traditional_incident_cost = traditional_mttr * revenue_per_minute |
| traditional_engineer_cost = (traditional_mttr / 60) * engineer_hourly * team_size |
| traditional_monthly_cost = monthly_incidents * (traditional_incident_cost + traditional_engineer_cost) |
| |
| |
| |
| auto_healed = monthly_incidents * auto_heal_rate |
| arf_auto_heal_cost = arf_mttr * revenue_per_minute * auto_healed |
| arf_auto_heal_engineer = (arf_mttr / 60) * engineer_hourly * team_size * auto_healed |
| |
| |
| manual_incidents = monthly_incidents * (1 - auto_heal_rate) |
| manual_mttr = traditional_mttr * 0.5 |
| arf_manual_cost = manual_mttr * revenue_per_minute * manual_incidents |
| arf_manual_engineer = (manual_mttr / 60) * engineer_hourly * team_size * manual_incidents |
| |
| arf_monthly_cost = arf_auto_heal_cost + arf_auto_heal_engineer + arf_manual_cost + arf_manual_engineer |
| |
| |
| monthly_savings = traditional_monthly_cost - arf_monthly_cost |
| annual_savings = monthly_savings * 12 |
| implementation_cost = 47500 |
| |
| return { |
| "monthly_revenue": monthly_revenue, |
| "monthly_incidents": monthly_incidents, |
| "traditional_monthly_cost": round(traditional_monthly_cost, 2), |
| "arf_monthly_cost": round(arf_monthly_cost, 2), |
| "monthly_savings": round(monthly_savings, 2), |
| "annual_savings": round(annual_savings, 2), |
| "implementation_cost": implementation_cost, |
| "payback_months": round(implementation_cost / monthly_savings, 1) if monthly_savings > 0 else 999, |
| "first_year_roi_percent": round((annual_savings - implementation_cost) / implementation_cost * 100, 1), |
| "first_year_net_gain": round(annual_savings - implementation_cost, 2), |
| "key_metrics": { |
| "auto_heal_rate": f"{auto_heal_rate*100:.1f}%", |
| "mttr_improvement": f"{(traditional_mttr - arf_mttr)/traditional_mttr*100:.1f}%", |
| "engineer_hours_saved": f"{((traditional_mttr - arf_mttr)/60 * monthly_incidents * team_size):.0f} hours/month", |
| } |
| } |
|
|
| |
| |
| |
|
|
| def create_ultimate_demo(): |
| """Create the ultimate OSS + Enterprise demo UI""" |
| |
| with gr.Blocks(title="π§ ARF Ultimate Demo - OSS vs Enterprise", theme="soft") as demo: |
| gr.Markdown(""" |
| # π§ Agentic Reliability Framework |
| ### Experience the Full Spectrum: OSS (Free) β Enterprise (Paid) |
| |
| **This demo shows what each edition actually does in production incidents.** |
| """) |
| |
| with gr.Tabs(): |
| |
| |
| |
| with gr.TabItem("π OSS Mode (Free)"): |
| gr.Markdown(""" |
| ## Open Source Edition - Advisory Only |
| **What you get for free (Apache 2.0 License):** |
| |
| β
Anomaly detection & pattern recognition |
| β
HealingIntent creation (recommendations) |
| β
RAG similarity search (in-memory) |
| β
Safety validation & guardrails |
| β **NO EXECUTION** - Advisory only |
| |
| *Try it below - see what OSS recommends, then switch to Enterprise tab to see execution.* |
| """) |
| |
| with gr.Row(): |
| with gr.Column(scale=1): |
| gr.Markdown("#### π OSS Input") |
| |
| oss_scenario = gr.Dropdown( |
| choices=list(DEMO_SCENARIOS.keys()), |
| value="π Error Rate Spike (OSS Advisory)", |
| label="Demo Scenario", |
| info="Select a scenario to test OSS capabilities" |
| ) |
| |
| oss_component = gr.Textbox( |
| value="api-service", |
| label="Component", |
| interactive=True |
| ) |
| |
| oss_latency = gr.Slider( |
| minimum=10, maximum=1000, value=250, |
| label="Latency P99 (ms)", |
| info="P99 latency in milliseconds" |
| ) |
| |
| oss_error_rate = gr.Slider( |
| minimum=0, maximum=1, value=0.15, step=0.01, |
| label="Error Rate", |
| info="Error rate (0.0 to 1.0)" |
| ) |
| |
| oss_analyze_btn = gr.Button("π€ Analyze with OSS", variant="primary") |
| |
| with gr.Column(scale=2): |
| gr.Markdown("#### π OSS Analysis Results") |
| |
| oss_scenario_story = gr.Markdown( |
| value=DEMO_SCENARIOS["π Error Rate Spike (OSS Advisory)"]["story"] |
| ) |
| |
| oss_output = gr.JSON( |
| label="OSS Analysis Output", |
| value={} |
| ) |
| |
| |
| def update_oss_scenario(scenario_name): |
| scenario = DEMO_SCENARIOS.get(scenario_name, {}) |
| return { |
| oss_scenario_story: gr.update(value=scenario.get("story", "")), |
| oss_component: gr.update(value=scenario.get("component", "api-service")), |
| oss_latency: gr.update(value=scenario.get("latency", 100)), |
| oss_error_rate: gr.update(value=scenario.get("error_rate", 0.05)), |
| } |
| |
| |
| async def analyze_oss_async(component, latency, error_rate, scenario_name): |
| result = await analyze_with_oss(component, latency, error_rate, scenario_name) |
| return result |
| |
| |
| oss_scenario.change( |
| fn=update_oss_scenario, |
| inputs=[oss_scenario], |
| outputs=[oss_scenario_story, oss_component, oss_latency, oss_error_rate] |
| ) |
| |
| oss_analyze_btn.click( |
| fn=analyze_oss_async, |
| inputs=[oss_component, oss_latency, oss_error_rate, oss_scenario], |
| outputs=[oss_output] |
| ) |
| |
| |
| |
| |
| with gr.TabItem("π Enterprise Mode"): |
| gr.Markdown(""" |
| ## Enterprise Edition - Full Execution |
| **What licensed customers get (Commercial License):** |
| |
| β
**Everything in OSS**, plus: |
| π§ **Actual tool execution** (not just advisory) |
| π₯ **Approval workflows** (human-in-loop) |
| π€ **Autonomous execution** (with safety guardrails) |
| π§ **Learning engine** (improves over time) |
| π **Audit trails** (SOC2/GDPR/HIPAA compliant) |
| πΎ **Persistent storage** (Neo4j + PostgreSQL) |
| π‘οΈ **24/7 enterprise support** |
| |
| *Try it with the demo license below!* |
| """) |
| |
| with gr.Row(): |
| with gr.Column(scale=1): |
| gr.Markdown("#### π¬ Enterprise Demo") |
| |
| ent_scenario = gr.Dropdown( |
| choices=[k for k in DEMO_SCENARIOS.keys() if "Enterprise" in k or "Approval" in k], |
| value="π¨ Black Friday Crisis (Enterprise)", |
| label="Enterprise Scenario", |
| info="Select an enterprise scenario" |
| ) |
| |
| ent_license = gr.Textbox( |
| value="ARF-ENT-DEMO-PROD", |
| label="Enterprise License Key", |
| info="Demo license - real enterprise requires purchase" |
| ) |
| |
| ent_mode = gr.Dropdown( |
| choices=["advisory", "approval", "autonomous"], |
| value="autonomous", |
| label="Execution Mode", |
| info="How to execute the healing action" |
| ) |
| |
| ent_user = gr.Textbox( |
| value="oncall_engineer", |
| label="Approver (for approval mode)", |
| info="User requesting/approving execution" |
| ) |
| |
| ent_execute_btn = gr.Button("β‘ Execute with Enterprise", variant="primary") |
| |
| with gr.Column(scale=2): |
| gr.Markdown("#### π Enterprise Execution Results") |
| |
| ent_scenario_story = gr.Markdown( |
| value=DEMO_SCENARIOS["π¨ Black Friday Crisis (Enterprise)"]["story"] |
| ) |
| |
| ent_output = gr.JSON( |
| label="Enterprise Execution Output", |
| value={} |
| ) |
| |
| |
| def update_ent_scenario(scenario_name): |
| scenario = DEMO_SCENARIOS.get(scenario_name, {}) |
| return { |
| ent_scenario_story: gr.update(value=scenario.get("story", "")), |
| ent_mode: gr.update(value=scenario.get("recommended_mode", "autonomous")), |
| } |
| |
| |
| async def execute_enterprise_async(scenario_name, license_key, mode, user): |
| |
| scenario = DEMO_SCENARIOS.get(scenario_name, {}) |
| |
| |
| healing_intent = { |
| "action": "scale_out" if scenario.get("latency", 0) > 200 else "rollback", |
| "component": scenario.get("component", "api-service"), |
| "parameters": {"scale_factor": 3} if scenario.get("latency", 0) > 200 else {"revision": "previous"}, |
| "justification": f"Enterprise demo: {scenario.get('description', '')}", |
| "confidence": 0.92, |
| "intent_id": f"demo_{int(time.time())}", |
| } |
| |
| |
| result = await execute_with_enterprise( |
| healing_intent=healing_intent, |
| license_key=license_key, |
| mode=mode, |
| user_approver=user |
| ) |
| |
| return result |
| |
| |
| ent_scenario.change( |
| fn=update_ent_scenario, |
| inputs=[ent_scenario], |
| outputs=[ent_scenario_story, ent_mode] |
| ) |
| |
| ent_execute_btn.click( |
| fn=execute_enterprise_async, |
| inputs=[ent_scenario, ent_license, ent_mode, ent_user], |
| outputs=[ent_output] |
| ) |
| |
| |
| |
| |
| with gr.TabItem("π° ROI Calculator"): |
| gr.Markdown(""" |
| ## Enterprise ROI Calculator |
| **Based on real enterprise deployment data:** |
| |
| - **81.7%** auto-heal rate (vs 0% without ARF) |
| - **2.3 minute** MTTR (vs 45 minutes industry average) |
| - **94%** reduction in engineer toil |
| - **5.2Γ ROI** in first year |
| |
| *Enter your metrics below to calculate your potential savings.* |
| """) |
| |
| with gr.Row(): |
| with gr.Column(scale=1): |
| monthly_revenue = gr.Number( |
| value=1000000, |
| label="Monthly Revenue ($)", |
| info="Your company's monthly revenue" |
| ) |
| |
| monthly_incidents = gr.Slider( |
| minimum=1, maximum=100, value=20, |
| label="Monthly Incidents", |
| info="How many reliability incidents per month" |
| ) |
| |
| team_size = gr.Slider( |
| minimum=1, maximum=10, value=3, |
| label="SRE/DevOps Team Size", |
| info="Engineers handling incidents" |
| ) |
| |
| calculate_roi_btn = gr.Button("π Calculate ROI", variant="primary") |
| |
| with gr.Column(scale=2): |
| roi_output = gr.JSON( |
| label="ROI Analysis Results", |
| value={} |
| ) |
| |
| |
| def calculate_roi_display(revenue, incidents, team): |
| roi = calculate_enterprise_roi(revenue, incidents, team) |
| return roi |
| |
| calculate_roi_btn.click( |
| fn=calculate_roi_display, |
| inputs=[monthly_revenue, monthly_incidents, team_size], |
| outputs=[roi_output] |
| ) |
| |
| |
| |
| |
| with gr.TabItem("π Upgrade Path"): |
| gr.Markdown(""" |
| ## From OSS to Enterprise |
| **Clear upgrade path with guaranteed ROI** |
| |
| ### π― **Why Upgrade?** |
| |
| | Capability | OSS Edition | Enterprise Edition | |
| |------------|-------------|-------------------| |
| | **Execution** | β Advisory only | β
Autonomous + Approval | |
| | **Storage** | β οΈ In-memory only | β
Persistent (Neo4j + PostgreSQL) | |
| | **Learning** | β None | β
Continuous learning engine | |
| | **Audit** | β None | β
Full audit trails (SOC2/GDPR/HIPAA) | |
| | **Support** | β Community | β
24/7 Enterprise support | |
| | **Compliance** | β None | β
Automated compliance reporting | |
| | **Multi-Tenant** | β None | β
Customer isolation & management | |
| | **ROI** | β None | β
**5.2Γ average first year ROI** | |
| |
| ### π **Getting Started with Enterprise** |
| |
| 1. **Schedule a demo:** See it working with your data |
| 2. **30-day trial:** Full enterprise features |
| 3. **Implementation:** 2-4 weeks with our team |
| 4. **ROI guarantee:** Payback in 3-6 months |
| |
| ### π° **Pricing** |
| - **Base platform:** $499/month (up to 1,000 incidents) |
| - **Per incident:** $0.10 (volume discounts available) |
| - **Implementation:** $47,500 one-time (includes training) |
| |
| **Contact:** enterprise@petterjuan.com |
| **Website:** https://arf.dev/enterprise |
| **Documentation:** https://docs.arf.dev |
| """) |
| |
| |
| gr.Markdown(""" |
| --- |
| |
| **Agentic Reliability Framework** |
| OSS Edition: Apache 2.0 β’ Enterprise Edition: Commercial License |
| Β© 2025 Petter Juan AI Engineering. All rights reserved. |
| |
| *This demo shows both OSS advisory capabilities and Enterprise execution capabilities. |
| The Enterprise mock demonstrates what licensed customers actually receive.* |
| """) |
| |
| return demo |
|
|
| |
| |
| |
|
|
| def main(): |
| """Main entry point""" |
| logging.basicConfig(level=logging.INFO) |
| logger = logging.getLogger(__name__) |
| |
| logger.info("=" * 80) |
| logger.info("Starting ARF Ultimate Demo - OSS vs Enterprise") |
| logger.info("=" * 80) |
| |
| demo = create_ultimate_demo() |
| demo.launch( |
| server_name="0.0.0.0", |
| server_port=7860, |
| share=False, |
| show_error=True |
| ) |
|
|
| if __name__ == "__main__": |
| main() |