Personality Enhancement Configuration

Overview

The ResponsePersonalityEnhancer system allows customization of Piper’s communication style while maintaining accuracy and professionalism. This document covers all configuration options and methods.

Default Configuration

All personality settings have sensible defaults optimized for professional PM work:

Configuration Sources (Priority Order)

  1. Database - PersonalityProfile table (persistent, user-specific)
  2. PIPER.user.md - File-based overrides (development/testing)
  3. System Defaults - Fallback values (built-in)

Configuration Structure

Complete Configuration Schema

personality:
  profile:
    warmth_level: 0.7              # 0.0-1.0 (float)
    confidence_style: "contextual"  # enum: numeric|descriptive|contextual|hidden
    action_orientation: "medium"    # enum: high|medium|low
    technical_depth: "balanced"     # enum: detailed|balanced|simplified
  performance:
    max_response_time_ms: 100       # Enhancement timeout (integer)
    cache_ttl_seconds: 300          # Profile cache duration (integer)
    fallback_enabled: true          # Enable graceful degradation (boolean)

Minimal Configuration (PIPER.user.md)

personality:
  profile:
    warmth_level: 0.8
    confidence_style: "hidden"

Configuration Options Details

Warmth Level (0.0 - 1.0)

Controls the enthusiasm and friendliness of responses.

Confidence Display Style

Controls how uncertainty and confidence levels are communicated.

“numeric”

Shows specific percentages and numerical confidence indicators.

“descriptive”

Uses descriptive words for confidence levels.

“contextual”

Provides context about the confidence assessment.

“hidden”

No confidence indicators shown - clean, streamlined responses.

Action Orientation

Controls how much actionable guidance is provided.

“high”

Every response includes explicit next steps and recommendations.

“medium”

Actionable guidance when relevant and helpful.

“low”

Minimal action suggestions - focuses on information delivery.

Technical Depth

Controls the level of technical detail in responses.

“detailed”

Full technical explanations with implementation specifics.

“balanced”

Right level of detail for most users - technical but accessible.

“simplified”

High-level summaries focused on outcomes and business impact.

Environment Variables

Production Configuration

# Personality system settings
PERSONALITY_CACHE_TTL=300                    # Profile cache duration (seconds)
PERSONALITY_MAX_LATENCY_MS=100               # Enhancement timeout (milliseconds)
PERSONALITY_FALLBACK_ENABLED=true           # Enable graceful degradation
PERSONALITY_DEFAULT_WARMTH=0.7               # Default warmth level
PERSONALITY_DEFAULT_CONFIDENCE=contextual    # Default confidence style

# Database settings (if using database profiles)
PERSONALITY_DB_CONNECTION_TIMEOUT=5000       # Database timeout (milliseconds)
PERSONALITY_DB_RETRY_ATTEMPTS=3              # Connection retry attempts

Development/Testing Configuration

# Development overrides
PERSONALITY_CACHE_TTL=10                     # Short cache for testing
PERSONALITY_MAX_LATENCY_MS=200               # Relaxed timeout for debugging
PERSONALITY_FALLBACK_ENABLED=true           # Always enable fallback
PERSONALITY_DEBUG_LOGGING=true               # Enable detailed logging

Configuration Methods

URL: http://localhost:8081/personality-preferences

  1. Navigate to personality preferences page
  2. Adjust sliders and dropdowns for desired settings
  3. Click “Save Configuration”
  4. Changes take effect immediately

Advantages:

Method 2: File Configuration (Advanced)

File: ../config/PIPER.user.md

  1. Edit the personality section in PIPER.user.md
  2. Save the file
  3. Restart Piper if needed (depending on configuration)
  4. Changes override database settings

Advantages:

Method 3: API Configuration (Programmatic)

Endpoint: http://localhost:8001/api/personality/profile/default

# Get current configuration
curl -X GET "http://localhost:8001/api/personality/profile/default"

# Update configuration (if endpoint available)
curl -X PUT "http://localhost:8001/api/personality/profile/default" \
  -H "Content-Type: application/json" \
  -d '{
    "warmth_level": 0.8,
    "confidence_style": "contextual",
    "action_orientation": "high",
    "technical_depth": "balanced"
  }'

Configuration Validation

Valid Value Ranges

Invalid Configuration Handling

The system handles invalid configurations gracefully:

  1. Out of range values: Clamped to valid range
    • warmth_level: 2.0 → 1.0
    • warmth_level: -0.5 → 0.0
  2. Invalid enum values: Fall back to defaults
    • confidence_style: “invalid” → “contextual”
    • action_orientation: “extreme” → “medium”
  3. Missing configuration: Use system defaults
  4. Malformed YAML: Log error and use defaults
  5. Database connection issues: Fall back to file configuration

Performance Considerations

Response Time Impact

Caching Strategy

Resource Usage

Testing Configuration

Configuration Testing Checklist

Test Configuration Examples

High Performance Test

personality:
  profile:
    warmth_level: 0.0          # Minimal processing
    confidence_style: "hidden" # No confidence processing
    action_orientation: "low"   # Minimal action processing
  performance:
    max_response_time_ms: 50   # Aggressive timeout
    cache_ttl_seconds: 600     # Long cache

High Engagement Test

personality:
  profile:
    warmth_level: 1.0           # Maximum warmth
    confidence_style: "contextual" # Rich confidence display
    action_orientation: "high"   # Maximum actionability
    technical_depth: "detailed" # Full technical depth

Troubleshooting

Common Configuration Issues

1. Configuration Not Taking Effect

Symptoms: Changes made but responses unchanged Causes:

2. Performance Degradation

Symptoms: Slow response times after enabling personality Causes:

3. Inconsistent Personality

Symptoms: Personality varies between interfaces Causes:

Debugging Configuration

Enable Debug Logging

export PERSONALITY_DEBUG_LOGGING=true

Check Configuration Loading

# View current effective configuration
curl http://localhost:8001/api/personality/profile/default | jq '.'

# Check configuration file syntax
python -c "import yaml; print(yaml.safe_load(open('../config/PIPER.user.md')))"

Monitor Performance

# Check response times with personality enabled/disabled
time curl "http://localhost:8001/api/standup?personality=true"
time curl "http://localhost:8001/api/standup?personality=false"

Configuration Guide Version: 1.0 Last Updated: September 11, 2025 Status: Production Ready Next Review: Post-MVP feedback integration