src.intelligence.dependency_inferer module
Dependency Inference Engine for Marcus Phase 2.
Smart dependency detection to prevent illogical task assignments like
“Deploy to production” before development is complete.
-
class src.intelligence.dependency_inferer.DependencyPattern[source]
Bases: object
Pattern for inferring dependencies.
-
name: str
-
description: str
-
condition_pattern: str
-
dependency_pattern: str
-
confidence: float
-
mandatory: bool
-
__init__(name, description, condition_pattern, dependency_pattern, confidence, mandatory)
- Parameters:
name (str)
description (str)
condition_pattern (str)
dependency_pattern (str)
confidence (float)
mandatory (bool)
- Return type:
None
-
class src.intelligence.dependency_inferer.InferredDependency[source]
Bases: object
Inferred dependency between tasks.
-
dependent_task_id: str
-
dependency_task_id: str
-
dependency_type: str
-
confidence: float
-
reasoning: str
-
source: str = 'unknown'
-
__init__(dependent_task_id, dependency_task_id, dependency_type, confidence, reasoning, source='unknown')
- Parameters:
dependent_task_id (str)
dependency_task_id (str)
dependency_type (str)
confidence (float)
reasoning (str)
source (str)
- Return type:
None
-
class src.intelligence.dependency_inferer.DependencyGraph[source]
Bases: object
Graph representation of task dependencies.
-
nodes: Dict[str, Task]
-
edges: List[InferredDependency]
-
adjacency_list: Dict[str, List[str]]
-
reverse_adjacency: Dict[str, List[str]]
-
has_cycle()[source]
Check if the dependency graph has cycles.
- Return type:
bool
-
get_critical_path()[source]
Get the critical path (longest dependency chain).
- Return type:
List[str]
-
__init__(nodes, edges, adjacency_list, reverse_adjacency)
- Parameters:
-
- Return type:
None
-
class src.intelligence.dependency_inferer.DependencyInferer[source]
Bases: object
Infers dependencies between tasks to prevent illogical assignments.
-
__init__()[source]
- Return type:
None
-
async infer_dependencies(tasks)[source]
Infer dependencies from task names and descriptions.
- Parameters:
tasks (List[Task]) – List of tasks to analyze
- Returns:
Dependency graph with inferred dependencies
- Return type:
DependencyGraph
-
async validate_dependencies(graph)[source]
Validate dependency graph for correctness.
- Returns:
Validation results with any issues found
- Return type:
Dict[str, Any]
- Parameters:
graph (DependencyGraph)