Module: Legion::Extensions::MindGrowth::Runners::Analyzer
- Extended by:
- Analyzer
- Included in:
- Analyzer
- Defined in:
- lib/legion/extensions/mind_growth/runners/analyzer.rb
Instance Method Summary collapse
- #cognitive_profile(existing_extensions: nil) ⇒ Object
- #identify_weak_links(extensions: []) ⇒ Object
- #recommend_priorities(existing_extensions: nil) ⇒ Object
Instance Method Details
#cognitive_profile(existing_extensions: nil) ⇒ Object
10 11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/legion/extensions/mind_growth/runners/analyzer.rb', line 10 def cognitive_profile(existing_extensions: nil, **) extensions = existing_extensions || current_extensions gap_data = Helpers::CognitiveModels.gap_analysis(extensions) { success: true, total_extensions: extensions.size, model_coverage: gap_data, overall_coverage: (gap_data.sum { |g| g[:coverage] } / gap_data.size.to_f).round(2) } rescue ArgumentError => e { success: false, error: e. } end |
#identify_weak_links(extensions: []) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/legion/extensions/mind_growth/runners/analyzer.rb', line 23 def identify_weak_links(extensions: [], **) weak = extensions.select { |e| Helpers::FitnessEvaluator.fitness(e) < Helpers::Constants::IMPROVEMENT_THRESHOLD } { success: true, weak_links: Helpers::FitnessEvaluator.rank(weak), count: weak.size } rescue ArgumentError => e { success: false, error: e. } end |
#recommend_priorities(existing_extensions: nil) ⇒ Object
30 31 32 33 34 35 36 37 |
# File 'lib/legion/extensions/mind_growth/runners/analyzer.rb', line 30 def recommend_priorities(existing_extensions: nil, **) gaps = Helpers::CognitiveModels.recommend_from_gaps( Helpers::CognitiveModels.gap_analysis(existing_extensions || current_extensions) ) { success: true, priorities: gaps.first(10), rationale: 'Based on cognitive model gap analysis' } rescue ArgumentError => e { success: false, error: e. } end |