Class: SuperInstance::Equipment::ConsensusEngine::TripartiteDeliberation
- Inherits:
-
Object
- Object
- SuperInstance::Equipment::ConsensusEngine::TripartiteDeliberation
- Defined in:
- lib/equipment/consensus_engine/tripartite_deliberation.rb
Overview
TripartiteDeliberation - Pathos/Logos/Ethos 3-agent deliberation
Implements the classical rhetorical framework for argumentation through three fundamental modes of persuasion.
The tripartite framework originates from Aristotle’s Rhetoric and provides a comprehensive approach to argumentation:
-
Pathos: Appeals to emotion, intent, and human experience
-
Logos: Appeals to logic, reason, and rational argument
-
Ethos: Appeals to ethics, credibility, and moral character
Instance Method Summary collapse
-
#analyze(perspective, proposition, context, previous_opinions = []) ⇒ Hash
Analyzes a proposition from a specific perspective.
-
#get_perspective_config(perspective) ⇒ Hash
Gets the configuration for a perspective.
-
#initialize ⇒ TripartiteDeliberation
constructor
Creates a new TripartiteDeliberation instance.
-
#set_perspective_config(perspective, config) ⇒ Object
Sets the configuration for a perspective.
Constructor Details
#initialize ⇒ TripartiteDeliberation
Creates a new TripartiteDeliberation instance
30 31 32 33 34 35 36 |
# File 'lib/equipment/consensus_engine/tripartite_deliberation.rb', line 30 def initialize @perspective_configs = { pathos: { threshold: 0.6, style: :collaborative }, logos: { threshold: 0.7, style: :inquisitive }, ethos: { threshold: 0.75, style: :adversarial } } end |
Instance Method Details
#analyze(perspective, proposition, context, previous_opinions = []) ⇒ Hash
Analyzes a proposition from a specific perspective
44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'lib/equipment/consensus_engine/tripartite_deliberation.rb', line 44 def analyze(perspective, proposition, context, previous_opinions = []) case perspective when :pathos analyze_from_pathos(proposition, context, previous_opinions) when :logos analyze_from_logos(proposition, context, previous_opinions) when :ethos analyze_from_ethos(proposition, context, previous_opinions) else raise ArgumentError, "Unknown perspective: #{perspective}" end end |
#get_perspective_config(perspective) ⇒ Hash
Gets the configuration for a perspective
73 74 75 76 77 |
# File 'lib/equipment/consensus_engine/tripartite_deliberation.rb', line 73 def get_perspective_config(perspective) config = @perspective_configs[perspective] raise ArgumentError, "Unknown perspective: #{perspective}" unless config config.dup end |
#set_perspective_config(perspective, config) ⇒ Object
Sets the configuration for a perspective
60 61 62 63 64 65 66 67 68 |
# File 'lib/equipment/consensus_engine/tripartite_deliberation.rb', line 60 def set_perspective_config(perspective, config) current = @perspective_configs[perspective] return unless current @perspective_configs[perspective] = { threshold: config[:threshold] || current[:threshold], style: config[:style] || current[:style] } end |