| """ |
| GeoBot 2.0 Analytical Framework Example |
| |
| Demonstrates the complete GeoBot 2.0 framework for clinical systems analysis |
| with geopolitical nuance. Includes: |
| |
| 1. Framework overview |
| 2. Analytical lenses demonstration |
| 3. China Rocket Force purge analysis (example from specification) |
| 4. Governance system comparison |
| 5. Corruption type analysis |
| 6. Non-Western military assessment |
| """ |
|
|
| import sys |
| sys.path.insert(0, '..') |
|
|
| from geobot.analysis import ( |
| AnalyticalEngine, |
| GeoBotFramework, |
| AnalyticalLenses, |
| GovernanceType, |
| CorruptionType |
| ) |
|
|
|
|
| def print_section(title): |
| """Print formatted section header.""" |
| print("\n" + "=" * 80) |
| print(f" {title}") |
| print("=" * 80 + "\n") |
|
|
|
|
| def example_1_framework_overview(): |
| """Demonstrate GeoBot 2.0 framework overview.""" |
| print_section("Example 1: GeoBot 2.0 Framework Overview") |
|
|
| framework = GeoBotFramework() |
| summary = framework.get_framework_summary() |
|
|
| print(f"Version: {summary['version']}") |
| print(f"Description: {summary['description']}\n") |
|
|
| print("Core Identity:") |
| print(f" Focus: {summary['identity']['focus']}") |
| print(f" Key Shift: {summary['identity']['key_shift']}\n") |
|
|
| print("Integration Elements:") |
| for element in summary['identity']['integration_elements']: |
| print(f" - {element}") |
|
|
| print("\nTone:") |
| print(summary['tone']) |
|
|
| print("\nAnalytical Principles:") |
| for i, principle in enumerate(summary['principles'], 1): |
| print(f" {i}. {principle}") |
|
|
|
|
| def example_2_china_rocket_force_analysis(): |
| """ |
| Demonstrate complete analysis using China Rocket Force purge example |
| from the GeoBot 2.0 specification. |
| """ |
| print_section("Example 2: China Rocket Force Purge Analysis") |
|
|
| engine = AnalyticalEngine() |
|
|
| query = "China removed several top Rocket Force generals. What does this mean?" |
|
|
| context = { |
| 'governance_type': GovernanceType.AUTHORITARIAN_CENTRALIZED, |
| 'corruption_type': CorruptionType.MANAGED_BOUNDED, |
| 'military_system': 'Chinese PLA', |
| 'scenario_description': 'Leadership purge in strategic forces', |
| 'operational_context': 'Strategic nuclear forces readiness', |
|
|
| 'summary': """The purge indicates internal accountability enforcement within strategic forces |
| command, with mixed implications for near-term readiness and decision coherence.""", |
|
|
| 'logistics_assessment': """Rocket Force maintenance, silo integration, and inventory control |
| are likely under audit. Purges typically follow discovery of procurement irregularities or |
| readiness misreporting. However, unlike Russian corruption patterns, Chinese anti-corruption |
| campaigns since 2012 have successfully constrained (though not eliminated) defense sector |
| embezzlement. The PLA's civil-military logistics integration provides redundancy that mitigates |
| some supply chain risks.""", |
|
|
| 'scenarios': [ |
| { |
| 'name': 'Routine institutional maintenance', |
| 'probability': 0.50, |
| 'description': 'Temporary disruption, return to baseline within 6-12 months' |
| }, |
| { |
| 'name': 'Deeper procurement crisis', |
| 'probability': 0.30, |
| 'description': 'Extended degradation of readiness reporting reliability' |
| }, |
| { |
| 'name': 'Factional conflict', |
| 'probability': 0.15, |
| 'description': 'Prolonged command instability' |
| }, |
| { |
| 'name': 'Major reorganization', |
| 'probability': 0.05, |
| 'description': 'Strategic forces restructure' |
| } |
| ], |
|
|
| 'uncertainty_factors': [ |
| 'Limited visibility into CCP internal dynamics and audit findings' |
| ], |
|
|
| 'signals_to_watch': [ |
| 'Promotion patterns (meritocratic vs. factional indicators)', |
| 'Training tempo changes (satellite observable)', |
| 'Procurement contract patterns', |
| 'Whether purges expand beyond Rocket Force' |
| ], |
|
|
| 'comparative_notes': """Russia's similar aerospace purges (2015-2017) resulted in sustained |
| degradation because underlying corruption was never addressed—only individuals were replaced. |
| China's systemic anti-corruption infrastructure suggests different trajectory is possible.""" |
| } |
|
|
| |
| context['governance_context'] = { |
| 'trade_off': """China gains long-term institutional integrity at the cost of |
| short-term command continuity.""", |
| 'context_specific_advantage': """Authoritarian systems can execute rapid leadership |
| replacement without legislative constraints, allowing faster course correction than |
| consensus-based systems. However, this creates temporary communication disruption and |
| institutional memory loss.""" |
| } |
|
|
| |
| context['corruption_details'] = { |
| 'evidence': """Evidence suggests managed corruption model rather than parasitic: |
| purges indicate the system detected and acted on problems, rather than tolerating systemic decay. |
| This is structurally different from militaries where corruption goes unaddressed.""", |
| 'risk_assessment': """Purge-induced fear may cause temporary over-reporting conservatism, |
| slowing mobilization responses.""" |
| } |
|
|
| |
| context['non_western_context'] = { |
| 'analysis_framework': """Western analysis often treats purges as pure weakness signals. |
| In Chinese institutional context, periodic purges are a maintenance mechanism for regime stability. |
| The question is whether this specific purge reflects routine enforcement or deeper structural crisis.""", |
| 'key_distinction': """Indicators distinguishing routine vs. crisis: |
| - Scope: limited to RF or expanding to other services? |
| - Timing: related to specific audit cycle or sudden? |
| - Replacements: technocratic or factional?""" |
| } |
|
|
| |
| analysis = engine.analyze(query, context) |
| print(analysis) |
|
|
|
|
| def example_3_governance_comparison(): |
| """Demonstrate governance system comparison.""" |
| print_section("Example 3: Governance System Comparison") |
|
|
| engine = AnalyticalEngine() |
|
|
| scenario = "Rapid military mobilization in response to regional crisis" |
|
|
| comparison = engine.compare_governance_systems( |
| scenario=scenario, |
| authoritarian_context={}, |
| democratic_context={} |
| ) |
|
|
| print(comparison) |
|
|
|
|
| def example_4_corruption_assessment(): |
| """Demonstrate corruption type assessment.""" |
| print_section("Example 4: Corruption Type Assessment") |
|
|
| lenses = AnalyticalLenses() |
|
|
| print("Corruption Type Analysis:\n") |
|
|
| |
| corruption_types = [ |
| (CorruptionType.PARASITIC, "Russia"), |
| (CorruptionType.MANAGED_BOUNDED, "China"), |
| (CorruptionType.INSTITUTIONALIZED_PATRONAGE, "Iran IRGC"), |
| (CorruptionType.LOW_CORRUPTION, "NATO countries") |
| ] |
|
|
| for corr_type, example in corruption_types: |
| analysis = lenses.corruption.analyze( |
| corr_type, |
| operational_context="Sustained high-intensity conventional operations" |
| ) |
|
|
| print(f"\n{corr_type.value.upper()} ({example}):") |
| print(f" Operational Impact: {analysis['operational_impact']}") |
| print(f" Characteristics:") |
| for char in analysis['characteristics']: |
| print(f" - {char}") |
|
|
|
|
| def example_5_non_western_military_assessment(): |
| """Demonstrate non-Western military analysis.""" |
| print_section("Example 5: Non-Western Military Assessment") |
|
|
| lenses = AnalyticalLenses() |
|
|
| militaries = ["Chinese PLA", "Russian Military", "Iranian Systems"] |
|
|
| for military in militaries: |
| analysis = lenses.non_western.analyze(military) |
|
|
| print(f"\n{military.upper()}:") |
| print(f"\nOperational Culture: {analysis['operational_culture']}") |
|
|
| print("\nStrengths:") |
| for strength in analysis['strengths']: |
| print(f" - {strength}") |
|
|
| print("\nWeaknesses:") |
| for weakness in analysis['weaknesses']: |
| print(f" - {weakness}") |
|
|
| print(f"\nKey Insight: {analysis['key_insight']}") |
|
|
|
|
| def example_6_all_lenses_integration(): |
| """Demonstrate integration of all four lenses.""" |
| print_section("Example 6: All Lenses Integration") |
|
|
| engine = AnalyticalEngine() |
|
|
| print("Analytical Priorities:\n") |
| priorities = engine.get_analytical_priorities() |
| for i, priority in enumerate(priorities, 1): |
| print(f"{i}. {priority}") |
|
|
| print("\n" + "-" * 80) |
|
|
| |
| print("\nQuick Analysis Example:") |
| print("Query: 'Iran's ability to sustain proxy operations in Syria'\n") |
|
|
| analysis = engine.quick_analysis( |
| query="Iran's ability to sustain proxy operations in Syria", |
| governance_type=GovernanceType.AUTHORITARIAN_CENTRALIZED, |
| corruption_type=CorruptionType.INSTITUTIONALIZED_PATRONAGE, |
| military_system="Iranian Systems", |
| summary="""Iran demonstrates structural advantages in proxy coordination despite |
| conventional military limitations. IRGC Quds Force maintains effective command and control |
| through patronage networks that double as operational infrastructure.""", |
| logistics_assessment="""Supply lines to Syria rely on air bridge through Iraq and |
| maritime routes. Vulnerable to interdiction but demonstrated resilience through redundancy. |
| Sanctions impact advanced systems but not basic sustainment.""", |
| scenarios=[ |
| { |
| 'name': 'Sustained proxy presence', |
| 'probability': 0.60, |
| 'description': 'Current operational tempo maintained' |
| }, |
| { |
| 'name': 'Degraded operations', |
| 'probability': 0.30, |
| 'description': 'Israeli interdiction reduces capability' |
| }, |
| { |
| 'name': 'Expansion', |
| 'probability': 0.10, |
| 'description': 'Regional instability creates opportunities' |
| } |
| ] |
| ) |
|
|
| print(analysis) |
|
|
|
|
| def main(): |
| """Run all examples.""" |
| print("\n" + "=" * 80) |
| print(" GeoBot 2.0: Cold Systems Analysis with Geopolitical Nuance") |
| print("=" * 80) |
|
|
| examples = [ |
| ("Framework Overview", example_1_framework_overview), |
| ("China Rocket Force Analysis", example_2_china_rocket_force_analysis), |
| ("Governance Comparison", example_3_governance_comparison), |
| ("Corruption Assessment", example_4_corruption_assessment), |
| ("Non-Western Military Assessment", example_5_non_western_military_assessment), |
| ("All Lenses Integration", example_6_all_lenses_integration), |
| ] |
|
|
| print("\nAvailable Examples:") |
| for i, (name, _) in enumerate(examples, 1): |
| print(f" {i}. {name}") |
|
|
| print("\nRunning all examples...\n") |
|
|
| for name, example_func in examples: |
| try: |
| example_func() |
| except Exception as e: |
| print(f"Error in {name}: {e}") |
| import traceback |
| traceback.print_exc() |
|
|
| print("\n" + "=" * 80) |
| print(" All examples completed") |
| print("=" * 80 + "\n") |
|
|
|
|
| if __name__ == "__main__": |
| main() |
|
|