Spaces:
Sleeping
Sleeping
| """ | |
| simulate_conflicts.py | |
| Demonstrates the enhanced multi-stakeholder feedback system, | |
| showing how the FeedbackVector captures disagreement and how | |
| the BeliefTracker identifies trends. | |
| """ | |
| import sys | |
| import os | |
| sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__)))) | |
| from feature_flag_env.stakeholders import StakeholderPanel, ConflictScenarios | |
| from feature_flag_env.models import FeatureFlagObservation | |
| def run_scenario(name: str, observations: list[FeatureFlagObservation]): | |
| print("=" * 60) | |
| print(f"๐ SCENARIO: {name}") | |
| print("=" * 60) | |
| panel = StakeholderPanel() | |
| panel.reset() | |
| for i, obs in enumerate(observations): | |
| print(f"\n{'='*20} Step {i} {'='*20}") | |
| print(f"Metrics: Rollout {obs.current_rollout_percentage}%, Error: {obs.error_rate:.2%}, Users: {obs.active_users}") | |
| # Get structured feedback vector | |
| vector = panel.get_feedback_vector(obs) | |
| print("\n" + vector.to_prompt_section()) | |
| # Display belief tracker trends | |
| summary = panel.belief_tracker.summary() | |
| trends = summary["satisfaction_trends"] | |
| print(f"\nBelief Trends:") | |
| print(f" - DevOps: {trends['devops']}") | |
| print(f" - Product: {trends['product']}") | |
| print(f" - Customer: {trends['customer_success']}") | |
| print(f" - Conflict: {summary['conflict_trend']} (Level: {summary['latest_conflict']:.2f})") | |
| if __name__ == "__main__": | |
| run_scenario("Speed vs Stability", ConflictScenarios.speed_vs_stability()) | |
| run_scenario("Growth vs Quality", ConflictScenarios.growth_vs_quality()) | |
| run_scenario("Total Conflict", ConflictScenarios.total_conflict()) | |