src.learning.pattern_learner module#

Pattern Learner for Marcus Phase 2.

Learns patterns from completed projects to improve future recommendations.

class src.learning.pattern_learner.CompletedProject[source]#

Bases: object

Data from a completed project.

project_id: str#
name: str#
tasks: List[Task]#
completion_date: datetime#
success_metrics: Dict[str, Any]#
team_size: int#
duration_days: int#
project_type: str#
__init__(project_id, name, tasks, completion_date, success_metrics, team_size, duration_days, project_type)#
Parameters:
Return type:

None

class src.learning.pattern_learner.ProjectLearnings[source]#

Bases: object

Extracted learnings from a project.

estimation_accuracy: Dict[str, float]#
dependency_patterns: List[Dict[str, Any]]#
workflow_patterns: Dict[str, Any]#
success_factors: List[str]#
failure_points: List[str]#
team_performance: Dict[str, Any]#
__init__(estimation_accuracy, dependency_patterns, workflow_patterns, success_factors, failure_points, team_performance)#
Parameters:
Return type:

None

class src.learning.pattern_learner.Pattern[source]#

Bases: object

A learned pattern.

pattern_id: str#
pattern_type: str#
description: str#
conditions: Dict[str, Any]#
recommendations: Dict[str, Any]#
confidence: float#
evidence_count: int#
last_updated: datetime#
__init__(pattern_id, pattern_type, description, conditions, recommendations, confidence, evidence_count, last_updated)#
Parameters:
Return type:

None

class src.learning.pattern_learner.PatternLearner[source]#

Bases: object

Learns patterns from completed projects.

__init__()[source]#
Return type:

None

patterns: Dict[str, Pattern]#
project_history: List[CompletedProject]#
async learn_from_project(project)[source]#

Extract learnings from a completed project.

Parameters:

project (CompletedProject) – Completed project data

Return type:

None

async update_patterns(learnings)[source]#

Update pattern library based on new learnings.

Parameters:

learnings (ProjectLearnings) – Extracted learnings from a project

Return type:

None

async calculate_confidence(pattern)[source]#

Calculate pattern confidence based on evidence.

Parameters:

pattern (Pattern) – Pattern to calculate confidence for

Returns:

Confidence score between 0 and 1

Return type:

float

async get_patterns_for_context(context)[source]#

Get patterns relevant to a specific context.

Parameters:

context (Dict[str, Any]) – Context information (project type, team size, etc.)

Returns:

List of relevant patterns

Return type:

List[Pattern]

async export_patterns()[source]#

Export patterns for persistence.

Return type:

Dict[str, Any]

async import_patterns(pattern_data)[source]#

Import patterns from persistence.

Return type:

None

Parameters:

pattern_data (Dict[str, Any])