Files
tracker-cli/tracker/services/summary_service.py
Daniel Arroyo 4547c492da Implement storage layer for MVP-1 Personal Tracker CLI
Add storage layer with FileStorage, MarkdownReader, and MarkdownWriter classes.
Add data models (Project, Session, Note, Change).
2026-03-23 08:54:00 -03:00

43 lines
1.2 KiB
Python

"""Summary service for heuristic summary generation."""
from ..models import Session
from .note_service import consolidate_notes
def generate_summary(session: Session) -> str:
"""
Generate a heuristic summary from the session.
Uses consolidate_notes to extract work_done, decisions, blockers.
"""
# Consolidate raw notes into categorized sections
consolidated = consolidate_notes(session.raw_notes)
lines = []
# Work done section
if consolidated["work_done"]:
lines.append("Trabajo realizado:")
for item in consolidated["work_done"]:
lines.append(f" - {item}")
lines.append("")
# Decisions section
if consolidated["decisions"]:
lines.append("Decisiones:")
for item in consolidated["decisions"]:
lines.append(f" - {item}")
lines.append("")
# Blockers section
if consolidated["blockers"]:
lines.append("Bloqueos:")
for item in consolidated["blockers"]:
lines.append(f" - {item}")
lines.append("")
# If no content, provide a minimal summary
if not lines:
return f"Session de {session.duration_minutes} minutos sin progreso registrado."
return "\n".join(lines)