Module: Legion::MCP::Settings

Defined in:
lib/legion/mcp/settings.rb

Class Method Summary collapse

Class Method Details

.defaultsObject



8
9
10
11
12
13
14
15
16
17
18
19
# File 'lib/legion/mcp/settings.rb', line 8

def defaults
  {
    servers:         {},
    overrides:       {},
    tool_cache_ttl:  300,
    connect_timeout: 10,
    call_timeout:    30,
    codegen:         { self_generate: self_generate_defaults },
    mcp:             { auto_expose_runners: false, deferred_loading: deferred_loading_defaults,
                       dynamic_tools: dynamic_tools_defaults }
  }
end

.deferred_loading_defaultsObject



21
22
23
# File 'lib/legion/mcp/settings.rb', line 21

def deferred_loading_defaults
  { enabled: true, always_loaded: [] }
end

.dynamic_tools_defaultsObject



25
26
27
# File 'lib/legion/mcp/settings.rb', line 25

def dynamic_tools_defaults
  { enabled: false, max_injected: 10 }
end

.self_generate_corroboration_defaultsObject



63
64
65
66
67
68
69
70
# File 'lib/legion/mcp/settings.rb', line 63

def self_generate_corroboration_defaults
  {
    enabled:                      true,
    min_agents:                   2,
    apollo_query_before_generate: true,
    priority_boost_per_agent:     0.15
  }
end

.self_generate_defaultsObject



29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/legion/mcp/settings.rb', line 29

def self_generate_defaults
  {
    enabled:            false,
    cooldown_seconds:   300,
    max_gaps_per_cycle: 5,
    tier:               self_generate_tier_defaults,
    runner_method:      { output_dir: '~/.legionio/generated/runners', namespace: 'Legion::Generated' },
    full_extension:     { output_dir: '~/.legionio/generated/extensions', auto_bundle: false },
    validation:         self_generate_validation_defaults,
    approval:           { required: false, auto_approve_confidence: 0.9, auto_approve_gap_types: [] },
    hot_register:       { mcp_tools: true, full_load_on_boot: true },
    corroboration:      self_generate_corroboration_defaults,
    github:             self_generate_github_defaults
  }
end

.self_generate_github_defaultsObject



72
73
74
75
76
77
78
79
80
81
82
83
# File 'lib/legion/mcp/settings.rb', line 72

def self_generate_github_defaults
  {
    enabled:               false,
    auto_branch:           true,
    auto_pr:               true,
    auto_merge:            false,
    target_repo:           nil,
    target_branch:         'main',
    pr_labels:             %w[auto-generated needs-review],
    adversarial_reviewers: 3
  }
end

.self_generate_tier_defaultsObject



45
46
47
48
49
50
51
# File 'lib/legion/mcp/settings.rb', line 45

def self_generate_tier_defaults
  {
    simple_max_occurrences:    10,
    complex_min_occurrences:   11,
    recurrence_window_seconds: 86_400
  }
end

.self_generate_validation_defaultsObject



53
54
55
56
57
58
59
60
61
# File 'lib/legion/mcp/settings.rb', line 53

def self_generate_validation_defaults
  {
    syntax_check: true,
    run_specs:    true,
    llm_review:   true,
    max_retries:  2,
    quality_gate: { enabled: false, threshold: 0.8 }
  }
end