{
  "name": "inkos-quality-enforcement",
  "version": "1.0.0",
  "description": "强制质量标准的 inkos 配置",
  "enforcement_level": "strict",
  
  "writing_requirements": {
    "platform": "tomato",
    "genre": "urban_apocalypse",
    "target_audience": "mobile_young_readers",
    
    "quality_gates": {
      "paragraph_structure": {
        "min_paragraph_length_chinese": 35,
        "max_consecutive_short_paragraphs": 3,
        "short_paragraph_ratio_threshold": 0.3,
        "reject_if_violated": true
      },
      
      "golden_points": {
        "required_per_chapter": 3,
        "keywords": ["打脸", "升级", "收获", "碾压", "反转", "爽点", "优势", "先知", "重生", "信息差", "囤货", "物资", "安全屋"],
        "chapter_1_special": ["重生确认", "先知优势", "时间紧迫", "目标明确"],
        "reject_if_violated": true
      },
      
      "dialogue": {
        "required_ratio": 0.3,
        "min_dialogue_count": 5,
        "dialogue_format": "standard_chinese",
        "reject_if_violated": true
      },
      
      "emotional_arc": {
        "required": true,
        "min_emotional_changes": 2,
        "max_flat_chapters": 2,
        "reject_if_violated": true
      }
    },
    
    "prohibited_patterns": {
      "ai_patterns": ["列表式结构", "机械重复", "模板化表达"],
      "writing_cliches": ["一片寂静", "显然", "毫无疑问", "众所周知"],
      "format_errors": ["破折号——", "过多省略号……", "不规范对话格式"],
      "reject_if_detected": true
    }
  },
  
  "generation_controls": {
    "style_adjustments": {
      "paragraph_merging": "aggressive",
      "dialogue_injection": "required",
      "golden_point_enhancement": "required",
      "emotional_arc_enforcement": "required"
    },
    
    "length_controls": {
      "min_chapter_length_chars": 2500,
      "max_chapter_length_chars": 3500,
      "ideal_chapter_length_chars": 3000,
      "truncate_if_exceeds": true
    },
    
    "quality_checks": {
      "pre_generation_check": true,
      "post_generation_validation": true,
      "auto_fix_enabled": true,
      "human_review_required": false
    }
  },
  
  "monitoring_and_feedback": {
    "real_time_monitoring": {
      "enabled": true,
      "check_interval_seconds": 60,
      "alert_on_violation": true,
      "auto_pause_on_failure": true
    },
    
    "quality_reports": {
      "generate_per_chapter": true,
      "generate_daily_summary": true,
      "store_history": true,
      "export_format": "json"
    },
    
    "feedback_loop": {
      "learn_from_rejections": true,
      "adjust_parameters_automatically": true,
      "quality_trend_analysis": true,
      "performance_optimization": true
    }
  },
  
  "remediation_strategies": {
    "auto_fix_capabilities": {
      "merge_short_paragraphs": true,
      "enhance_golden_points": true,
      "add_dialogue": true,
      "improve_emotional_arc": true,
      "fix_format_issues": true
    },
    
    "retry_mechanisms": {
      "max_retries_per_chapter": 3,
      "retry_delay_seconds": 30,
      "escalate_to_human_after_retries": true,
      "log_all_retry_attempts": true
    },
    
    "fallback_strategies": {
      "use_template_if_failed": true,
      "simplify_content_if_needed": true,
      "reduce_length_if_problematic": true,
      "emergency_shutdown_if_critical": true
    }
  },
  
  "integration": {
    "with_inkos": {
      "config_file_path": "/root/.openclaw/workspace/tomato-novel/inkos_quality_config.json",
      "reload_on_change": true,
      "validate_before_use": true,
      "backup_original_config": true
    },
    
    "with_monitoring": {
      "quality_check_script": "/root/.openclaw/workspace/tomato-novel/scripts/simple_quality_check.py",
      "auto_fix_script": "/root/.openclaw/workspace/tomato-novel/scripts/auto_fix_chapter1.py",
      "report_generator": "/root/.openclaw/workspace/tomato-novel/scripts/quality_monitor.py",
      "integration_mode": "tight"
    }
  },
  
  "maintenance": {
    "config_updates": {
      "frequency": "weekly",
      "auto_update": true,
      "version_control": true,
      "rollback_capability": true
    },
    
    "performance_tuning": {
      "monitor_resource_usage": true,
      "optimize_for_speed": false,
      "prioritize_quality": true,
      "adjust_based_on_results": true
    },
    
    "troubleshooting": {
      "detailed_logging": true,
      "error_classification": true,
      "suggested_solutions": true,
      "escalation_paths": true
    }
  }
}