src.learning.project_pattern_learner module#

Project Pattern Learner.

This module extracts patterns from completed projects to improve future recommendations. It analyzes project outcomes, team performance, and quality metrics to identify successful patterns and common pitfalls.

class src.learning.project_pattern_learner.ProjectPattern[source]#

Bases: object

Comprehensive pattern extracted from a project.

project_id: str#
project_name: str#
outcome: ProjectOutcome#
quality_metrics: Dict[str, float]#
team_composition: Dict[str, Any]#
velocity_pattern: Dict[str, float]#
task_patterns: Dict[str, Any]#
blocker_patterns: Dict[str, Any]#
technology_stack: List[str]#
implementation_patterns: Dict[str, Any]#
success_factors: List[str]#
risk_factors: List[str]#
extracted_at: datetime#
confidence_score: float#
__init__(project_id, project_name, outcome, quality_metrics, team_composition, velocity_pattern, task_patterns, blocker_patterns, technology_stack, implementation_patterns, success_factors, risk_factors, extracted_at, confidence_score)#
Parameters:
Return type:

None

class src.learning.project_pattern_learner.TeamPerformanceMetrics[source]#

Bases: object

Metrics for team performance analysis.

average_velocity: float#
task_completion_rate: float#
blocker_resolution_time: float#
collaboration_score: float#
skill_utilization: Dict[str, float]#
agent_performance: Dict[str, Any]#
__init__(average_velocity, task_completion_rate, blocker_resolution_time, collaboration_score, skill_utilization, agent_performance)#
Parameters:
Return type:

None

class src.learning.project_pattern_learner.ProjectPatternLearner[source]#

Bases: object

Extracts and learns patterns from completed projects.

This class analyzes completed projects to identify patterns that lead to success or failure, helping Marcus make better decisions for future projects.

__init__(pattern_db=None, ai_engine=None, code_analyzer=None)[source]#

Initialize the pattern learner.

Parameters:
Return type:

None

learned_patterns: List[ProjectPattern]#
async learn_from_project(project_state, tasks, team_members, outcome, github_owner=None, github_repo=None)[source]#

Extract patterns from a completed project.

Parameters:
  • project_state (ProjectState) – Final state of the completed project

  • tasks (List[Task]) – All tasks from the project

  • team_members (List[WorkerStatus]) – Team members who worked on the project

  • outcome (ProjectOutcome) – Actual project outcome metrics

  • github_owner (Optional[str]) – GitHub repository owner for code analysis

  • github_repo (Optional[str]) – GitHub repository name for code analysis

Returns:

Extracted pattern from the project

Return type:

ProjectPattern

find_similar_projects(target_pattern, min_similarity=0.7)[source]#

Find similar projects based on patterns.

Parameters:
  • target_pattern (ProjectPattern) – Pattern to match against

  • min_similarity (float) – Minimum similarity score (0-1)

Returns:

List of (pattern, similarity_score) tuples

Return type:

List[Tuple[ProjectPattern, float]]

get_recommendations_from_patterns(current_project, max_recommendations=5)[source]#

Get recommendations based on learned patterns.

Parameters:
  • current_project (Dict[str, Any]) – Current project information

  • max_recommendations (int) – Maximum number of recommendations to return

Returns:

List of recommendations with confidence scores

Return type:

List[Dict[str, Any]]