petter2025 commited on
Commit
784bb29
·
verified ·
1 Parent(s): bc06c6d

Create demo_scenarios.py

Browse files
Files changed (1) hide show
  1. demo_scenarios.py +499 -0
demo_scenarios.py ADDED
@@ -0,0 +1,499 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ """
2
+ Demo Scenarios for ARF 3.3.9 OSS vs Enterprise
3
+ Pre-built scenarios showing the difference between advisory and mechanical enforcement
4
+ """
5
+
6
+ DEMO_SCENARIOS = {
7
+ "database_drop": {
8
+ "name": "High-Risk Database Operation",
9
+ "action": "DROP DATABASE production CASCADE",
10
+ "description": "Irreversible deletion of production database",
11
+ "context": {
12
+ "environment": "production",
13
+ "criticality": "critical",
14
+ "data_loss": "irreversible",
15
+ "affected_users": 10000
16
+ },
17
+ "oss_result": {
18
+ "risk_level": "High",
19
+ "confidence": 0.95,
20
+ "recommendation": "❌ DO NOT EXECUTE - High risk of irreversible data loss",
21
+ "policy_violations": 2,
22
+ "can_execute": False,
23
+ "execution_status": "BLOCKED (Advisory)",
24
+ "reason": "Violates high-risk database policy and irreversible action policy"
25
+ },
26
+ "enterprise_result": {
27
+ "license_tier": "professional",
28
+ "gates": [
29
+ {"name": "license_validation", "required": True, "passed": True, "message": "Professional license valid"},
30
+ {"name": "risk_assessment", "required": True, "passed": False, "message": "Risk score 0.95 > 0.80 threshold"},
31
+ {"name": "irreversible_action", "required": True, "passed": False, "message": "DROP DATABASE is irreversible"},
32
+ {"name": "admin_override", "required": False, "passed": False, "message": "No admin override provided"}
33
+ ],
34
+ "gates_passed": 1,
35
+ "total_gates": 4,
36
+ "execution_authority": "DENIED",
37
+ "enforcement_type": "Mechanical Block",
38
+ "audit_trail": True,
39
+ "auto_remediation": "Queued for security review",
40
+ "value_prop": "Prevents catastrophic error with mechanical enforcement"
41
+ },
42
+ "visualization": {
43
+ "risk_score": 0.95,
44
+ "confidence": 0.95,
45
+ "severity": "critical"
46
+ }
47
+ },
48
+
49
+ "service_deployment": {
50
+ "name": "Safe Service Deployment",
51
+ "action": "deploy_service v1.2.3 to staging with 25% canary",
52
+ "description": "Standard deployment with canary testing",
53
+ "context": {
54
+ "environment": "staging",
55
+ "service": "api-gateway",
56
+ "version": "v1.2.3",
57
+ "canary_percentage": 25,
58
+ "rollback_feasible": True,
59
+ "rollback_time": "2 minutes"
60
+ },
61
+ "oss_result": {
62
+ "risk_level": "Low",
63
+ "confidence": 0.88,
64
+ "recommendation": "✅ Looks safe - Can execute with monitoring",
65
+ "policy_violations": 0,
66
+ "can_execute": True,
67
+ "execution_status": "APPROVED (Advisory)",
68
+ "reason": "Meets all safety criteria and has rollback plan"
69
+ },
70
+ "enterprise_result": {
71
+ "license_tier": "professional",
72
+ "gates": [
73
+ {"name": "license_validation", "required": True, "passed": True, "message": "Professional license valid"},
74
+ {"name": "confidence_threshold", "required": True, "passed": True, "message": "Confidence 0.88 ≥ 0.70"},
75
+ {"name": "rollback_feasibility", "required": True, "passed": True, "message": "Rollback in 2 minutes"},
76
+ {"name": "canary_safe", "required": True, "passed": True, "message": "25% canary within limits"},
77
+ {"name": "environment_match", "required": True, "passed": True, "message": "Staging environment"}
78
+ ],
79
+ "gates_passed": 5,
80
+ "total_gates": 5,
81
+ "execution_authority": "GRANTED",
82
+ "enforcement_type": "Autonomous Execution",
83
+ "audit_trail": True,
84
+ "auto_remediation": "Auto-deploy with monitoring",
85
+ "value_prop": "Fully autonomous execution saves 15 minutes per deployment"
86
+ },
87
+ "visualization": {
88
+ "risk_score": 0.12,
89
+ "confidence": 0.88,
90
+ "severity": "low"
91
+ }
92
+ },
93
+
94
+ "config_change": {
95
+ "name": "Configuration Change",
96
+ "action": "UPDATE config SET timeout=30 WHERE service='payment'",
97
+ "description": "Update payment service timeout configuration",
98
+ "context": {
99
+ "environment": "production",
100
+ "service": "payment",
101
+ "change_type": "configuration",
102
+ "affected_services": ["payment", "checkout"],
103
+ "validation_required": True
104
+ },
105
+ "oss_result": {
106
+ "risk_level": "Medium",
107
+ "confidence": 0.75,
108
+ "recommendation": "⚠️ Review recommended - Medium risk to payment services",
109
+ "policy_violations": 1,
110
+ "can_execute": False,
111
+ "execution_status": "REVIEW REQUIRED",
112
+ "reason": "Production payment service changes require additional review"
113
+ },
114
+ "enterprise_result": {
115
+ "license_tier": "starter",
116
+ "gates": [
117
+ {"name": "license_validation", "required": True, "passed": True, "message": "Starter license valid"},
118
+ {"name": "risk_assessment", "required": True, "passed": True, "message": "Risk score 0.25 ≤ 0.80"},
119
+ {"name": "payment_service", "required": True, "passed": False, "message": "Payment service requires admin approval"},
120
+ {"name": "admin_approval", "required": True, "passed": True, "message": "Admin approval received"},
121
+ {"name": "change_window", "required": True, "passed": True, "message": "Within maintenance window"}
122
+ ],
123
+ "gates_passed": 4,
124
+ "total_gates": 5,
125
+ "execution_authority": "GRANTED",
126
+ "enforcement_type": "Human-in-the-Loop Approval",
127
+ "audit_trail": True,
128
+ "auto_remediation": "Queued for execution after approval",
129
+ "value_prop": "Human oversight with mechanical validation ensures safety"
130
+ },
131
+ "visualization": {
132
+ "risk_score": 0.25,
133
+ "confidence": 0.75,
134
+ "severity": "medium"
135
+ }
136
+ },
137
+
138
+ "user_permission_grant": {
139
+ "name": "User Permission Grant",
140
+ "action": "GRANT admin_role TO user@company.com",
141
+ "description": "Grant administrative privileges to user",
142
+ "context": {
143
+ "environment": "production",
144
+ "role": "admin_role",
145
+ "user": "user@company.com",
146
+ "justification": "New team member",
147
+ "approver": "cto@company.com"
148
+ },
149
+ "oss_result": {
150
+ "risk_level": "High",
151
+ "confidence": 0.82,
152
+ "recommendation": "❌ High risk - Administrative grants require multi-factor approval",
153
+ "policy_violations": 2,
154
+ "can_execute": False,
155
+ "execution_status": "BLOCKED (Advisory)",
156
+ "reason": "Admin role grants require additional security review"
157
+ },
158
+ "enterprise_result": {
159
+ "license_tier": "enterprise",
160
+ "gates": [
161
+ {"name": "license_validation", "required": True, "passed": True, "message": "Enterprise license valid"},
162
+ {"name": "security_review", "required": True, "passed": True, "message": "Security team review completed"},
163
+ {"name": "multi_factor_auth", "required": True, "passed": True, "message": "MFA verification passed"},
164
+ {"name": "compliance_check", "required": True, "passed": True, "message": "SOX compliance validated"},
165
+ {"name": "approval_chain", "required": True, "passed": True, "message": "CTO and Security Lead approved"}
166
+ ],
167
+ "gates_passed": 5,
168
+ "total_gates": 5,
169
+ "execution_authority": "GRANTED",
170
+ "enforcement_type": "Compliance-Enforced Execution",
171
+ "audit_trail": True,
172
+ "auto_remediation": "Auto-provision with compliance logging",
173
+ "value_prop": "Automates complex compliance requirements with full audit trail"
174
+ },
175
+ "visualization": {
176
+ "risk_score": 0.68,
177
+ "confidence": 0.82,
178
+ "severity": "high"
179
+ }
180
+ },
181
+
182
+ "sensitive_data_access": {
183
+ "name": "Sensitive Data Access",
184
+ "action": "SELECT * FROM pci_data WHERE card_number LIKE '4111%'",
185
+ "description": "Access to PCI-sensitive payment card data",
186
+ "context": {
187
+ "environment": "production",
188
+ "data_classification": "pci",
189
+ "user_role": "analyst",
190
+ "purpose": "fraud investigation",
191
+ "masking_required": True
192
+ },
193
+ "oss_result": {
194
+ "risk_level": "Critical",
195
+ "confidence": 0.99,
196
+ "recommendation": "🚨 CRITICAL RISK - PCI data access requires special authorization",
197
+ "policy_violations": 3,
198
+ "can_execute": False,
199
+ "execution_status": "BLOCKED (Advisory)",
200
+ "reason": "PCI data access requires Data Protection Officer approval"
201
+ },
202
+ "enterprise_result": {
203
+ "license_tier": "enterprise",
204
+ "gates": [
205
+ {"name": "license_validation", "required": True, "passed": True, "message": "Enterprise license valid"},
206
+ {"name": "pci_compliance", "required": True, "passed": True, "message": "PCI DSS 4.0 compliant"},
207
+ {"name": "data_masking", "required": True, "passed": True, "message": "Auto-masking enabled"},
208
+ {"name": "dpo_approval", "required": True, "passed": True, "message": "Data Protection Officer approved"},
209
+ {"name": "audit_logging", "required": True, "passed": True, "message": "Full query logging enabled"},
210
+ {"name": "access_time_limit", "required": True, "passed": True, "message": "4-hour access window"}
211
+ ],
212
+ "gates_passed": 6,
213
+ "total_gates": 6,
214
+ "execution_authority": "GRANTED (WITH SAFEGUARDS)",
215
+ "enforcement_type": "Compliance-Enforced with Safeguards",
216
+ "audit_trail": True,
217
+ "auto_remediation": "Auto-masking + time-limited access",
218
+ "value_prop": "Enables necessary work while automatically enforcing compliance"
219
+ },
220
+ "visualization": {
221
+ "risk_score": 0.99,
222
+ "confidence": 0.99,
223
+ "severity": "critical"
224
+ }
225
+ },
226
+
227
+ "auto_scaling_adjustment": {
228
+ "name": "Auto-Scaling Adjustment",
229
+ "action": "scale deployment frontend from 10 to 50 pods",
230
+ "description": "Increase frontend service capacity",
231
+ "context": {
232
+ "environment": "production",
233
+ "service": "frontend",
234
+ "current_pods": 10,
235
+ "target_pods": 50,
236
+ "reason": "Black Friday traffic spike",
237
+ "budget_impact": "$1200/day"
238
+ },
239
+ "oss_result": {
240
+ "risk_level": "Low",
241
+ "confidence": 0.92,
242
+ "recommendation": "✅ Safe - Standard scaling operation",
243
+ "policy_violations": 0,
244
+ "can_execute": True,
245
+ "execution_status": "APPROVED (Advisory)",
246
+ "reason": "Within normal operational parameters"
247
+ },
248
+ "enterprise_result": {
249
+ "license_tier": "professional",
250
+ "gates": [
251
+ {"name": "license_validation", "required": True, "passed": True, "message": "Professional license valid"},
252
+ {"name": "budget_check", "required": True, "passed": True, "message": "Within monthly budget"},
253
+ {"name": "capacity_planning", "required": True, "passed": True, "message": "Matches capacity plan"},
254
+ {"name": "auto_scale", "required": True, "passed": True, "message": "Auto-scaling group configured"},
255
+ {"name": "monitoring", "required": True, "passed": True, "message": "CloudWatch alarms active"}
256
+ ],
257
+ "gates_passed": 5,
258
+ "total_gates": 5,
259
+ "execution_authority": "GRANTED",
260
+ "enforcement_type": "Autonomous Execution",
261
+ "audit_trail": True,
262
+ "auto_remediation": "Auto-scale with cost optimization",
263
+ "value_prop": "Fully autonomous scaling with cost controls"
264
+ },
265
+ "visualization": {
266
+ "risk_score": 0.08,
267
+ "confidence": 0.92,
268
+ "severity": "low"
269
+ }
270
+ },
271
+
272
+ "emergency_rollback": {
273
+ "name": "Emergency Rollback",
274
+ "action": "rollback_service payment to v1.1.0 immediately",
275
+ "description": "Emergency rollback due to critical bug",
276
+ "context": {
277
+ "environment": "production",
278
+ "service": "payment",
279
+ "from_version": "v1.2.0",
280
+ "to_version": "v1.1.0",
281
+ "severity": "critical",
282
+ "incident_id": "INC-2024-789",
283
+ "approved_by": "oncall_engineer"
284
+ },
285
+ "oss_result": {
286
+ "risk_level": "Medium",
287
+ "confidence": 0.78,
288
+ "recommendation": "⚠️ Proceed with caution - Rollback may affect transactions",
289
+ "policy_violations": 0,
290
+ "can_execute": True,
291
+ "execution_status": "APPROVED (Advisory)",
292
+ "reason": "Emergency override for critical incident"
293
+ },
294
+ "enterprise_result": {
295
+ "license_tier": "enterprise",
296
+ "gates": [
297
+ {"name": "license_validation", "required": True, "passed": True, "message": "Enterprise license valid"},
298
+ {"name": "emergency_override", "required": True, "passed": True, "message": "Emergency mode activated"},
299
+ {"name": "incident_linked", "required": True, "passed": True, "message": "Linked to INC-2024-789"},
300
+ {"name": "rollback_safe", "required": True, "passed": True, "message": "Rollback path verified"},
301
+ {"name": "communication_sent", "required": True, "passed": True, "message": "Stakeholders notified"},
302
+ {"name": "post_mortem_required", "required": True, "passed": True, "message": "Post-mortem queued"}
303
+ ],
304
+ "gates_passed": 6,
305
+ "total_gates": 6,
306
+ "execution_authority": "GRANTED",
307
+ "enforcement_type": "Emergency Protocol Execution",
308
+ "audit_trail": True,
309
+ "auto_remediation": "Auto-rollback with incident linking",
310
+ "value_prop": "Structured emergency response with full audit and post-mortem automation"
311
+ },
312
+ "visualization": {
313
+ "risk_score": 0.22,
314
+ "confidence": 0.78,
315
+ "severity": "medium"
316
+ }
317
+ }
318
+ }
319
+
320
+ # Gate definitions for visualization
321
+ GATE_DEFINITIONS = {
322
+ "license_validation": {
323
+ "description": "Validate enterprise license is active and appropriate tier",
324
+ "weight": 0.3,
325
+ "required": True,
326
+ "enterprise_only": True
327
+ },
328
+ "confidence_threshold": {
329
+ "description": "Confidence score must meet minimum threshold",
330
+ "weight": 0.25,
331
+ "required": True,
332
+ "threshold": 0.7
333
+ },
334
+ "risk_assessment": {
335
+ "description": "Risk score must be below maximum threshold",
336
+ "weight": 0.25,
337
+ "required": True,
338
+ "threshold": 0.8
339
+ },
340
+ "rollback_feasibility": {
341
+ "description": "Rollback plan must exist and be feasible",
342
+ "weight": 0.1,
343
+ "required": False,
344
+ "enterprise_only": False
345
+ },
346
+ "admin_approval": {
347
+ "description": "Human approval required for certain actions",
348
+ "weight": 0.1,
349
+ "required": False,
350
+ "enterprise_only": True,
351
+ "tiers": ["starter"]
352
+ },
353
+ "compliance_check": {
354
+ "description": "Compliance with regulations (GDPR, PCI, SOX, etc.)",
355
+ "weight": 0.1,
356
+ "required": False,
357
+ "enterprise_only": True,
358
+ "tiers": ["enterprise"]
359
+ },
360
+ "budget_check": {
361
+ "description": "Check against budget limits and forecasts",
362
+ "weight": 0.05,
363
+ "required": False,
364
+ "enterprise_only": True
365
+ }
366
+ }
367
+
368
+ # License tier comparisons
369
+ LICENSE_TIERS = {
370
+ "trial": {
371
+ "name": "Trial",
372
+ "price": 0,
373
+ "enforcement": "advisory",
374
+ "max_agents": 3,
375
+ "gates_available": ["confidence_threshold", "risk_assessment"],
376
+ "limitations": ["No mechanical enforcement", "14-day limit", "Community support"],
377
+ "best_for": "Evaluation and testing"
378
+ },
379
+ "starter": {
380
+ "name": "Starter",
381
+ "price": 2000,
382
+ "enforcement": "human_approval",
383
+ "max_agents": 10,
384
+ "gates_available": ["license_validation", "confidence_threshold", "risk_assessment", "admin_approval"],
385
+ "features": ["Human-in-the-loop gates", "Basic audit trail", "Email support"],
386
+ "best_for": "Small teams with human oversight"
387
+ },
388
+ "professional": {
389
+ "name": "Professional",
390
+ "price": 5000,
391
+ "enforcement": "autonomous",
392
+ "max_agents": 50,
393
+ "gates_available": ["license_validation", "confidence_threshold", "risk_assessment", "rollback_feasibility", "budget_check"],
394
+ "features": ["Autonomous execution", "Advanced audit", "Priority support", "SLA 99.5%"],
395
+ "best_for": "Mid-size companies wanting automation"
396
+ },
397
+ "enterprise": {
398
+ "name": "Enterprise",
399
+ "price": 15000,
400
+ "enforcement": "full_mechanical",
401
+ "max_agents": 1000,
402
+ "gates_available": ["license_validation", "confidence_threshold", "risk_assessment", "rollback_feasibility", "compliance_check", "budget_check", "custom_gates"],
403
+ "features": ["Full mechanical enforcement", "Compliance automation", "Custom gates", "24/7 support", "SLA 99.9%", "Differential privacy audit"],
404
+ "best_for": "Large enterprises with compliance needs"
405
+ }
406
+ }
407
+
408
+ # Value proposition data
409
+ VALUE_PROPOSITIONS = {
410
+ "risk_reduction": {
411
+ "oss": "Manual risk assessment",
412
+ "starter": "Human-validated decisions",
413
+ "professional": "Automated risk gates",
414
+ "enterprise": "Mechanical enforcement",
415
+ "improvement": "92% reduction in operational risk"
416
+ },
417
+ "decision_speed": {
418
+ "oss": "Minutes to hours",
419
+ "starter": "Minutes with human",
420
+ "professional": "Seconds (autonomous)",
421
+ "enterprise": "Milliseconds (mechanical)",
422
+ "improvement": "100x faster decisions"
423
+ },
424
+ "false_positives": {
425
+ "oss": "High (conservative)",
426
+ "starter": "Medium (human calibrated)",
427
+ "professional": "Low (ML-optimized)",
428
+ "enterprise": "Minimal (continuously tuned)",
429
+ "improvement": "85% reduction in false positives"
430
+ },
431
+ "operational_cost": {
432
+ "oss": "High (manual review)",
433
+ "starter": "Medium (partial automation)",
434
+ "professional": "Low (mostly automated)",
435
+ "enterprise": "Minimal (fully automated)",
436
+ "improvement": "75% reduction in OpEx"
437
+ }
438
+ }
439
+
440
+ def get_scenario_by_name(name: str) -> Dict:
441
+ """Get scenario by name"""
442
+ return DEMO_SCENARIOS.get(name, {})
443
+
444
+ def get_all_scenario_names() -> List[str]:
445
+ """Get all scenario names"""
446
+ return list(DEMO_SCENARIOS.keys())
447
+
448
+ def get_scenario_summary() -> List[Dict]:
449
+ """Get summary of all scenarios"""
450
+ summary = []
451
+ for key, scenario in DEMO_SCENARIOS.items():
452
+ summary.append({
453
+ "id": key,
454
+ "name": scenario["name"],
455
+ "action": scenario["action"],
456
+ "risk_level": scenario["oss_result"]["risk_level"],
457
+ "oss_can_execute": scenario["oss_result"]["can_execute"],
458
+ "enterprise_gates_passed": scenario["enterprise_result"]["gates_passed"],
459
+ "enterprise_total_gates": scenario["enterprise_result"]["total_gates"]
460
+ })
461
+ return summary
462
+
463
+ def generate_upgrade_path(current_tier: str, target_tier: str) -> Dict:
464
+ """Generate upgrade path between tiers"""
465
+ current = LICENSE_TIERS.get(current_tier, LICENSE_TIERS["trial"])
466
+ target = LICENSE_TIERS.get(target_tier, LICENSE_TIERS["enterprise"])
467
+
468
+ new_gates = [gate for gate in target["gates_available"] if gate not in current["gates_available"]]
469
+ new_features = [feat for feat in target.get("features", []) if feat not in current.get("features", [])]
470
+
471
+ return {
472
+ "from": current["name"],
473
+ "to": target["name"],
474
+ "price_increase": target["price"] - current["price"],
475
+ "new_gates": new_gates,
476
+ "new_features": new_features,
477
+ "enforcement_improvement": f"{current['enforcement']} → {target['enforcement']}",
478
+ "agent_limit_increase": target["max_agents"] - current["max_agents"],
479
+ "roi_calculation": _calculate_roi(current["price"], target["price"])
480
+ }
481
+
482
+ def _calculate_roi(current_price: int, target_price: int) -> Dict:
483
+ """Calculate ROI for upgrade"""
484
+ price_diff = target_price - current_price
485
+
486
+ # Simplified ROI calculation
487
+ time_savings = 15 * 20 * 12 # 15 min saved per decision, 20 decisions/day, 12 months
488
+ risk_reduction = 0.92 * 100000 # 92% reduction in $100k average incident cost
489
+ false_positive_savings = 0.85 * 50 * 200 # 85% reduction in 50 false positives/month at $200 each
490
+
491
+ total_savings = time_savings + risk_reduction + false_positive_savings
492
+ roi_months = (price_diff * 12) / total_savings if total_savings > 0 else 0
493
+
494
+ return {
495
+ "annual_price_difference": price_diff * 12,
496
+ "estimated_annual_savings": total_savings,
497
+ "roi_months": max(1, roi_months),
498
+ "breakeven": roi_months <= 12
499
+ }