haive.agents.common.models.task_analysis.solvability ==================================================== .. py:module:: haive.agents.common.models.task_analysis.solvability .. autoapi-nested-parse:: Task solvability and readiness assessment. This module analyzes whether tasks are currently solvable, what barriers exist, and what would be required to make unsolvable tasks solvable. Classes ------- .. autoapisummary:: haive.agents.common.models.task_analysis.solvability.SolvabilityAssessment haive.agents.common.models.task_analysis.solvability.SolvabilityBarrier Module Contents --------------- .. py:class:: SolvabilityAssessment(/, **data) Bases: :py:obj:`pydantic.BaseModel` Comprehensive assessment of task solvability and readiness. Analyzes whether a task can be solved with current capabilities, what barriers exist, and what would be required to overcome them. .. attribute:: solvability_status Current solvability classification .. attribute:: is_currently_solvable Whether task can be solved right now .. attribute:: confidence_level Confidence in the solvability assessment .. attribute:: primary_barriers Main obstacles preventing solution .. attribute:: secondary_barriers Additional challenges that may arise .. attribute:: enabling_factors Factors that make the task more solvable .. attribute:: breakthrough_requirements What breakthroughs would be needed .. attribute:: estimated_time_to_solvable Time until task becomes solvable .. attribute:: alternative_approaches Possible alternative solution paths .. rubric:: Example .. code-block:: python # Simple factual lookup - highly solvable assessment = SolvabilityAssessment( solvability_status=SolvabilityStatus.READY, is_currently_solvable=True, confidence_level=0.95, primary_barriers=[], enabling_factors=["web_search", "public_databases"], estimated_time_to_solvable=timedelta(0) ) # Cancer cure - major breakthrough required assessment = SolvabilityAssessment( solvability_status=SolvabilityStatus.THEORETICAL, is_currently_solvable=False, confidence_level=0.7, primary_barriers=[ SolvabilityBarrier.KNOWLEDGE_GAP, SolvabilityBarrier.TECHNOLOGY_LIMITATION, SolvabilityBarrier.RESOURCE_CONSTRAINT ], breakthrough_requirements=[ "fundamental_understanding_of_cancer_biology", "advanced_genetic_engineering_tools", "personalized_medicine_capabilities" ], estimated_time_to_solvable=timedelta(days=7300) # ~20 years ) Create a new model by parsing and validating input data from keyword arguments. Raises [`ValidationError`][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model. `self` is explicitly positional-only to allow `self` as a field name. .. py:method:: estimate_breakthrough_timeline() Estimate timeline for required breakthroughs. :returns: Dictionary with breakthrough timeline analysis .. py:method:: generate_solvability_report() Generate a comprehensive solvability report. :returns: Formatted report string .. py:method:: get_addressable_barriers() Get barriers that could potentially be addressed. :returns: List of barriers that might be overcome .. py:method:: get_immediate_actions() Get recommended immediate actions to improve solvability. :returns: List of actionable recommendations .. py:method:: get_solvability_score() Get solvability as a normalized score (0.0-1.0). :returns: Normalized solvability score .. py:method:: has_showstopper_barriers() Check if task has barriers that are absolute showstoppers. :returns: True if task has insurmountable barriers .. py:method:: validate_solvability_consistency() Validate that solvability assessment is internally consistent. :returns: Self if validation passes :raises ValueError: If assessment has inconsistencies .. py:attribute:: model_config Configuration for the model, should be a dictionary conforming to [`ConfigDict`][pydantic.config.ConfigDict]. .. py:class:: SolvabilityBarrier Bases: :py:obj:`str`, :py:obj:`enum.Enum` Types of barriers that prevent task solvability. .. attribute:: KNOWLEDGE_GAP Missing fundamental knowledge or understanding .. attribute:: TECHNOLOGY_LIMITATION Current technology is insufficient .. attribute:: RESOURCE_CONSTRAINT Insufficient computational, financial, or material resources .. attribute:: THEORETICAL_IMPOSSIBILITY Task violates known physical or logical laws .. attribute:: REGULATORY_BARRIER Legal, ethical, or regulatory constraints .. attribute:: COORDINATION_COMPLEXITY Too complex to coordinate effectively .. attribute:: TIME_CONSTRAINT Not enough time available given current methods .. attribute:: DATA_UNAVAILABILITY Required data doesn't exist or isn't accessible .. attribute:: EXPERT_UNAVAILABILITY Required human expertise not available .. attribute:: INFRASTRUCTURE_LIMITATION Missing necessary infrastructure or systems .. attribute:: ETHICAL_CONCERN Ethical issues prevent pursuit of solution .. attribute:: SAFETY_RISK Safety risks are too high to attempt Initialize self. See help(type(self)) for accurate signature.