src.modes.enricher.task_enricher module#

Task Enricher for Marcus Phase 2.

Enriches existing tasks with metadata and structure to organize chaotic boards.

class src.modes.enricher.task_enricher.EnrichmentPlan[source]#

Bases: object

Plan for enriching a task.

missing_description#

Whether task description is missing or inadequate.

Type:

bool

missing_labels#

Whether task labels are missing or insufficient.

Type:

bool

missing_estimates#

Whether time estimates are missing.

Type:

bool

missing_dependencies#

Whether dependencies are not defined.

Type:

bool

missing_acceptance_criteria#

Whether acceptance criteria are not defined.

Type:

bool

suggested_improvements#

List of improvement suggestions.

Type:

List[str]

confidence_score#

Confidence score for the enrichment plan.

Type:

float

missing_description: bool#
missing_labels: bool#
missing_estimates: bool#
missing_dependencies: bool#
missing_acceptance_criteria: bool#
suggested_improvements: List[str]#
confidence_score: float#
__init__(missing_description, missing_labels, missing_estimates, missing_dependencies, missing_acceptance_criteria, suggested_improvements, confidence_score)#
Parameters:
  • missing_description (bool)

  • missing_labels (bool)

  • missing_estimates (bool)

  • missing_dependencies (bool)

  • missing_acceptance_criteria (bool)

  • suggested_improvements (List[str])

  • confidence_score (float)

Return type:

None

class src.modes.enricher.task_enricher.BoardContext[source]#

Bases: object

Context about the board for enrichment.

project_type#

Type of project (e.g., ‘web’, ‘api’, ‘mobile’).

Type:

str

detected_phases#

Phases detected in the project workflow.

Type:

List[str]

detected_components#

Components identified in the project.

Type:

List[str]

common_labels#

Common labels used across tasks.

Type:

List[str]

workflow_pattern#

Detected workflow pattern.

Type:

str

project_type: str#
detected_phases: List[str]#
detected_components: List[str]#
common_labels: List[str]#
workflow_pattern: str#
__init__(project_type, detected_phases, detected_components, common_labels, workflow_pattern)#
Parameters:
Return type:

None

class src.modes.enricher.task_enricher.EnrichedTask[source]#

Bases: object

Task with enrichments applied.

original_task#

The original task before enrichment.

Type:

Task

enriched_description#

Enhanced task description.

Type:

str

suggested_labels#

Suggested labels for the task.

Type:

List[str]

estimated_hours#

Estimated hours to complete the task.

Type:

int

suggested_dependencies#

Suggested task dependencies.

Type:

List[str]

acceptance_criteria#

Generated acceptance criteria.

Type:

List[str]

confidence_score#

Confidence score for the enrichments.

Type:

float

enrichment_reasoning#

Explanation of the enrichment decisions.

Type:

str

original_task: Task#
enriched_description: str#
suggested_labels: List[str]#
estimated_hours: int#
suggested_dependencies: List[str]#
acceptance_criteria: List[str]#
confidence_score: float#
enrichment_reasoning: str#
__init__(original_task, enriched_description, suggested_labels, estimated_hours, suggested_dependencies, acceptance_criteria, confidence_score, enrichment_reasoning)#
Parameters:
  • original_task (Task)

  • enriched_description (str)

  • suggested_labels (List[str])

  • estimated_hours (int)

  • suggested_dependencies (List[str])

  • acceptance_criteria (List[str])

  • confidence_score (float)

  • enrichment_reasoning (str)

Return type:

None

class src.modes.enricher.task_enricher.TaskEnricher[source]#

Bases: object

Enriches existing tasks with metadata and structure.

This class analyzes tasks and generates missing information such as descriptions, labels, time estimates, dependencies, and acceptance criteria to help organize chaotic project boards.

__init__()[source]#
Return type:

None

task_patterns: Dict[str, Dict[str, Any]]#
async analyze_task(task, board_context)[source]#

Analyze what’s missing from a task.

Parameters:
  • task (Task) – Task to analyze.

  • board_context (BoardContext) – Context about the board.

Returns:

Plan for enriching the task.

Return type:

EnrichmentPlan

async generate_enrichments(task, board_context)[source]#

Generate missing information for a task.

Parameters:
  • task (Task) – Task to enrich.

  • board_context (BoardContext) – Context about the board.

Returns:

Dictionary with enrichment suggestions.

Return type:

Dict[str, Any]

async enrich_task_batch(tasks, board_context)[source]#

Enrich multiple tasks efficiently.

Parameters:
  • tasks (List[Task]) – List of tasks to enrich.

  • board_context (BoardContext) – Context about the board.

Returns:

List of enriched tasks.

Return type:

List[EnrichedTask]