Module: Legion::Extensions::Agentic::Learning::Scaffolding::Runners::CognitiveScaffolding
- Includes:
- Helpers::Lex
- Included in:
- Client
- Defined in:
- lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb
Instance Method Summary collapse
- #adjust_scaffold_support(scaffold_id:, direction:) ⇒ Object
- #attempt_scaffolded_task(scaffold_id:, difficulty:, success:) ⇒ Object
- #cognitive_scaffolding_stats ⇒ Object
- #create_scaffold(skill_name:, domain:, competence: nil) ⇒ Object
- #domain_scaffolds(domain:) ⇒ Object
- #mastered_scaffolded_skills ⇒ Object
- #overall_scaffolded_competence ⇒ Object
- #recommend_scaffolded_task(scaffold_id:) ⇒ Object
- #update_cognitive_scaffolding ⇒ Object
- #zpd_skills ⇒ Object
Instance Method Details
#adjust_scaffold_support(scaffold_id:, direction:) ⇒ Object
64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 64 def adjust_scaffold_support(scaffold_id:, direction:, **) scaffold = engine.adjust_support(scaffold_id: scaffold_id, direction: direction) unless scaffold log.debug "[cognitive_scaffolding] adjust_support: scaffold_id=#{scaffold_id} not found" return { success: false, reason: :not_found, scaffold_id: scaffold_id } end log.debug "[cognitive_scaffolding] adjust_support: skill=#{scaffold.skill_name} " \ "direction=#{direction} support=#{scaffold.support_level}" { success: true, scaffold: scaffold.to_h } end |
#attempt_scaffolded_task(scaffold_id:, difficulty:, success:) ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 21 def attempt_scaffolded_task(scaffold_id:, difficulty:, success:, **) scaffold = engine.attempt_scaffolded_task(scaffold_id: scaffold_id, difficulty: difficulty, success: success) unless scaffold log.debug "[cognitive_scaffolding] attempt: scaffold_id=#{scaffold_id} not found" return { success: false, reason: :not_found, scaffold_id: scaffold_id } end log.debug "[cognitive_scaffolding] attempt: skill=#{scaffold.skill_name} " \ "difficulty=#{difficulty.round(2)} success=#{success} " \ "competence=#{scaffold.competence.round(2)} zone=#{scaffold.current_zone}" { success: true, scaffold: scaffold.to_h } end |
#cognitive_scaffolding_stats ⇒ Object
89 90 91 92 93 94 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 89 def cognitive_scaffolding_stats(**) stats = engine.to_h log.debug "[cognitive_scaffolding] stats: total=#{stats[:total_scaffolds]} " \ "mastered=#{stats[:mastered_count]} zpd=#{stats[:zpd_count]}" { success: true, stats: stats } end |
#create_scaffold(skill_name:, domain:, competence: nil) ⇒ Object
13 14 15 16 17 18 19 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 13 def create_scaffold(skill_name:, domain:, competence: nil, **) comp = competence || Helpers::Constants::DEFAULT_COMPETENCE scaffold = engine.create_scaffold(skill_name: skill_name, domain: domain, competence: comp) log.debug "[cognitive_scaffolding] created: skill=#{skill_name} domain=#{domain} " \ "competence=#{scaffold.competence.round(2)} zone=#{scaffold.current_zone}" { success: true, scaffold: scaffold.to_h } end |
#domain_scaffolds(domain:) ⇒ Object
58 59 60 61 62 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 58 def domain_scaffolds(domain:, **) scaffolds = engine.by_domain(domain: domain) log.debug "[cognitive_scaffolding] domain: domain=#{domain} count=#{scaffolds.size}" { success: true, domain: domain, scaffolds: scaffolds.map(&:to_h), count: scaffolds.size } end |
#mastered_scaffolded_skills ⇒ Object
46 47 48 49 50 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 46 def mastered_scaffolded_skills(**) skills = engine.mastered_skills log.debug "[cognitive_scaffolding] mastered: count=#{skills.size}" { success: true, skills: skills.map(&:to_h), count: skills.size } end |
#overall_scaffolded_competence ⇒ Object
76 77 78 79 80 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 76 def overall_scaffolded_competence(**) overall = engine.overall_competence log.debug "[cognitive_scaffolding] overall_competence: #{overall.round(3)}" { success: true, overall_competence: overall.round(4) } end |
#recommend_scaffolded_task(scaffold_id:) ⇒ Object
34 35 36 37 38 39 40 41 42 43 44 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 34 def recommend_scaffolded_task(scaffold_id:, **) recommendation = engine.recommend_task(scaffold_id: scaffold_id) unless recommendation log.debug "[cognitive_scaffolding] recommend: scaffold_id=#{scaffold_id} not found" return { success: false, reason: :not_found, scaffold_id: scaffold_id } end log.debug "[cognitive_scaffolding] recommend: difficulty=#{recommendation[:difficulty].round(2)} " \ "support=#{recommendation[:support_level]} zone=#{recommendation[:zone]}" { success: true, recommendation: recommendation } end |
#update_cognitive_scaffolding ⇒ Object
82 83 84 85 86 87 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 82 def update_cognitive_scaffolding(**) count = engine.decay_all overall = engine.overall_competence log.debug "[cognitive_scaffolding] decay: scaffolds=#{count} overall=#{overall.round(3)}" { success: true, action: :decay, scaffold_count: count, overall_competence: overall.round(4) } end |
#zpd_skills ⇒ Object
52 53 54 55 56 |
# File 'lib/legion/extensions/agentic/learning/scaffolding/runners/cognitive_scaffolding.rb', line 52 def zpd_skills(**) skills = engine.zpd_skills log.debug "[cognitive_scaffolding] zpd: count=#{skills.size}" { success: true, skills: skills.map(&:to_h), count: skills.size } end |