src.core.adaptive_dependencies module#
Adaptive Dependency Inference System for Marcus.
Enhances Marcus’s template-based dependency system with adaptive learning. Works alongside existing templates to: 1. Suggest additional dependencies templates might miss 2. Learn from successful project completions 3. Enable better agent communication through the kanban board
- class src.core.adaptive_dependencies.DependencySignal[source]#
Bases:
objectA signal indicating potential dependency.
- class src.core.adaptive_dependencies.RelationshipPattern[source]#
Bases:
objectA learned pattern of task relationships.
- class src.core.adaptive_dependencies.DependencyFeedback[source]#
Bases:
objectUser feedback on a dependency inference.
- __init__(task_a_id, task_b_id, is_dependency, confidence, user_confirmed=None, feedback_reason=None, timestamp=<factory>)#
- class src.core.adaptive_dependencies.UserRelationship[source]#
Bases:
objectUser-defined relationship between tasks.
- class src.core.adaptive_dependencies.WorkflowPattern[source]#
Bases:
objectUser-defined workflow pattern.
- __init__(pattern_id, name, description, stages, relationships, domain=None, examples=<factory>, created_by_user=True, usage_count=0)#
- class src.core.adaptive_dependencies.DependencyInterface[source]#
Bases:
objectDefines what a task produces and what dependents need.
- class src.core.adaptive_dependencies.AdaptiveDependencyInferer[source]#
Bases:
objectAdaptive system for inferring task dependencies.
Based on multiple signals and learned patterns rather than hard-coded rules.
- __init__(initial_confidence_threshold=0.6)[source]#
Initialize the adaptive dependency inferer.
- Parameters:
initial_confidence_threshold (
float) – Minimum confidence to suggest dependency.
- patterns: Dict[str, RelationshipPattern]#
- feedback_history: List[DependencyFeedback]#
- user_relationships: List[UserRelationship]#
- workflow_patterns: Dict[str, WorkflowPattern]#
- record_feedback(task_a_id, task_b_id, is_dependency, original_confidence, user_confirmed, reason=None)[source]#
Record user feedback on a dependency inference.
This is used to improve future predictions.
- get_confidence_explanation(signals)[source]#
Generate human-readable explanation of confidence calculation.
- Return type:
- Parameters:
signals (List[DependencySignal])
- suggest_dependencies(task, all_tasks, min_confidence=0.5)[source]#
Suggest potential dependencies for a task.
- learn_from_kanban_board(tasks)[source]#
Learn dependency patterns from tasks on the kanban board.
The kanban board is the source of truth for user-defined dependencies. We learn from: 1. Explicit dependencies set by users on the board 2. Task ordering and column placement 3. Task completion patterns