Skip to content

[P1] Implement Project.get_status() comprehensive status gathering #107

Description

@frankbria

Overview

The get_status() method returns minimal hardcoded status instead of gathering comprehensive project state.

Current State

File: codeframe/core/project.py lines 131-139

def get_status(self) -> Dict[str, Any]:
    """Get current project status."""
    # TODO: Implement comprehensive status gathering
    return {
        "id": self.id,
        "name": self.name,
        "status": self._status.value,
        "created_at": self.created_at.isoformat() if self.created_at else None,
    }

Expected Behavior

Comprehensive status should include:

  • Project metadata (id, name, status, timestamps)
  • Task statistics (total, completed, in_progress, blocked)
  • Agent status (active, idle, assigned tasks)
  • Progress percentage
  • Recent activity (last task completed, time elapsed)
  • Blocker count
  • Quality metrics (test pass rate, coverage)

Implementation Requirements

  1. Query database for task statistics
  2. Query database for agent status
  3. Calculate progress percentage from tasks
  4. Get recent activity from timestamps
  5. Count active blockers
  6. Get latest quality metrics from quality_tracker

Return Format

{
    "id": 1,
    "name": "My Project",
    "status": "active",
    "created_at": "2025-11-20T10:00:00",
    "tasks": {
        "total": 40,
        "completed": 27,
        "in_progress": 5,
        "blocked": 2,
        "pending": 6
    },
    "agents": {
        "active": 3,
        "idle": 1,
        "total": 4
    },
    "progress_pct": 67.5,
    "blockers": 2,
    "quality": {
        "test_pass_rate": 100.0,
        "coverage_pct": 87.5
    },
    "last_activity": "2 minutes ago"
}

Acceptance Criteria

  • Status includes task statistics
  • Status includes agent information
  • Progress percentage calculated correctly
  • Recent activity shown with timestamps
  • Blocker count accurate
  • Quality metrics included

Priority

P1 - Critical: Dashboard relies on this for displaying project state.

References

  • User Documentation: CODEFRAME_USER_DOCUMENTATION.md lines 159-167
  • Issues Analysis: CODEFRAME_ISSUES_ANALYSIS.md lines 131-139

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions