mirror of
https://github.com/marcogll/talia_bot.git
synced 2026-01-13 13:25:19 +00:00
Merge pull request #58 from marcogll/feature/sprint-updates-20240112-15660961988964187929
docs: Update Tasks.md after sprint 2
This commit is contained in:
116
Tasks.md
116
Tasks.md
@@ -7,156 +7,98 @@ This document tracks all pending tasks, improvements, and issues identified in t
|
|||||||
### [SEC-001] File Upload Security Validation
|
### [SEC-001] File Upload Security Validation
|
||||||
- **Status**: DONE
|
- **Status**: DONE
|
||||||
- **Priority**: High
|
- **Priority**: High
|
||||||
- **Description**: `handle_document()` in main.py:168 accepts any file type without validation
|
|
||||||
- **Files affected**: `main.py`
|
|
||||||
- **Action needed**: Add file type validation, size limits, and malware scanning
|
|
||||||
- **Due**: ASAP
|
|
||||||
|
|
||||||
### [SEC-002] Hardcoded Secrets Management
|
### [SEC-002] Hardcoded Secrets Management
|
||||||
- **Status**: TODO
|
- **Status**: DONE
|
||||||
- **Priority**: High
|
- **Priority**: High
|
||||||
- **Description**: Email credentials stored in plain text environment variables
|
|
||||||
- **Files affected**: `config.py`, `.env.example`
|
|
||||||
- **Action needed**: Implement proper secret management (Vault/AWS Secrets Manager)
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [SEC-003] SQL Injection Prevention
|
### [SEC-003] SQL Injection Prevention
|
||||||
- **Status**: TODO
|
- **Status**: DONE
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: Database connection lacks connection pooling and timeout configurations
|
|
||||||
- **Files affected**: `db.py`
|
|
||||||
- **Action needed**: Add connection pooling, timeouts, and connection limits
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
## **Missing Implementations** 🟡
|
## **Missing Implementations** 🟡
|
||||||
|
|
||||||
### [IMP-001] Whisper Transcription Agent
|
### [IMP-001] Whisper Transcription Agent
|
||||||
- **Status**: DONE
|
- **Status**: DONE
|
||||||
- **Priority**: High
|
- **Priority**: High
|
||||||
- **Description**: AGENTS.md states Whisper agent is "Inexistente" but code references it
|
|
||||||
- **Files affected**: Need to create `transcription.py`
|
|
||||||
- **Action needed**: Create dedicated transcription module as per AGENTS.md
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [IMP-002] Dynamic Menu Generation
|
### [IMP-002] Dynamic Menu Generation
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: `onboarding.py` has hardcoded menus instead of dynamic generation
|
- **Description**: `onboarding.py` has hardcoded menus instead of dynamic generation
|
||||||
- **Files affected**: `onboarding.py`
|
|
||||||
- **Action needed**: Implement dynamic menu generation based on user roles
|
- **Action needed**: Implement dynamic menu generation based on user roles
|
||||||
- **Due**: Future iteration
|
|
||||||
|
|
||||||
### [IMP-003] Button Dispatcher Agent
|
### [IMP-003] Button Dispatcher Agent
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Low
|
- **Priority**: Low
|
||||||
- **Description**: "Despachador de Botones" mentioned in AGENTS.md but not implemented
|
- **Description**: "Despachador de Botones" mentioned in AGENTS.md but not implemented
|
||||||
- **Files affected**: Need to create new module
|
|
||||||
- **Action needed**: Create separate button dispatcher agent
|
- **Action needed**: Create separate button dispatcher agent
|
||||||
- **Due**: Future iteration
|
|
||||||
|
|
||||||
## **Architecture & Code Quality** 🟠
|
## **Architecture & Code Quality** 🟠
|
||||||
|
|
||||||
### [ARCH-001] Main.py Business Logic Violation
|
### [ARCH-001] Main.py Business Logic Violation
|
||||||
- **Status**: TODO
|
- **Status**: DONE
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: `main.py` contains business logic (lines 56-95) violating "Recepcionista" agent role
|
|
||||||
- **Files affected**: `main.py`
|
|
||||||
- **Action needed**: Refactor to follow agent responsibilities, move logic to appropriate agents
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [ARCH-002] Error Handling Consistency
|
### [ARCH-002] Error Handling Consistency
|
||||||
- **Status**: TODO
|
- **Status**: DONE
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: Inconsistent error handling across modules, missing try-catch blocks
|
|
||||||
- **Files affected**: `flow_engine.py`, `printer.py`, multiple modules
|
|
||||||
- **Action needed**: Add comprehensive error handling and graceful degradation
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [ARCH-003] Code Duplication
|
### [ARCH-003] Code Duplication
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Low
|
- **Priority**: Low
|
||||||
- **Description**: Database connection patterns repeated, similar menu generation logic
|
- **Description**: Database connection patterns repeated, similar menu generation logic
|
||||||
- **Files affected**: Multiple files
|
|
||||||
- **Action needed**: Create shared utilities and base classes
|
- **Action needed**: Create shared utilities and base classes
|
||||||
- **Due**: Future iteration
|
|
||||||
|
|
||||||
## **Performance & Optimization** 🟢
|
## **Performance & Optimization** 🟢
|
||||||
|
|
||||||
### [PERF-001] Database Connection Pooling
|
### [PERF-001] Database Connection Pooling
|
||||||
- **Status**: TODO
|
- **Status**: DONE
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: No connection pooling, missing indexes on frequently queried columns
|
|
||||||
- **Files affected**: `db.py`
|
|
||||||
- **Action needed**: Add connection pooling and database indexes
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [PERF-002] Memory Management
|
### [PERF-002] Memory Management
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: Voice files loaded entirely into memory, no cleanup for failed uploads
|
- **Description**: Voice files loaded entirely into memory, no cleanup for failed uploads
|
||||||
- **Files affected**: `llm_engine.py`, `main.py`
|
|
||||||
- **Action needed**: Implement streaming file processing and cleanup mechanisms
|
- **Action needed**: Implement streaming file processing and cleanup mechanisms
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [PERF-003] Flow Engine Memory Usage
|
### [PERF-003] Flow Engine Memory Usage
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Low
|
- **Priority**: Low
|
||||||
- **Description**: Flow engine stores all conversation data in memory
|
- **Description**: Flow engine stores all conversation data in memory
|
||||||
- **Files affected**: `flow_engine.py`
|
|
||||||
- **Action needed**: Implement conversation state persistence and cleanup
|
- **Action needed**: Implement conversation state persistence and cleanup
|
||||||
- **Due**: Future iteration
|
|
||||||
|
|
||||||
## **Dependencies & Configuration** 🔵
|
## **Dependencies & Configuration** 🔵
|
||||||
|
|
||||||
### [DEP-001] Python Version Upgrade
|
### [DEP-001] Python Version Upgrade
|
||||||
- **Status**: TODO
|
- **Status**: DONE
|
||||||
- **Priority**: High
|
- **Priority**: High
|
||||||
- **Description**: Using Python 3.9 (EOL October 2025) - should upgrade to 3.11+
|
|
||||||
- **Files affected**: `Dockerfile`, `requirements.txt`
|
|
||||||
- **Action needed**: Upgrade Python version and test compatibility
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [DEP-002] Package Security Updates
|
### [DEP-002] Package Security Updates
|
||||||
- **Status**: DONE
|
- **Status**: DONE
|
||||||
- **Priority**: High
|
- **Priority**: High
|
||||||
- **Description**: `python-telegram-bot[job-queue]<22` using outdated version constraint
|
|
||||||
- **Files affected**: `requirements.txt`
|
|
||||||
- **Action needed**: Update dependencies and run security audit
|
|
||||||
- **Due**: ASAP
|
|
||||||
|
|
||||||
### [DEP-003] Docker Security Hardening
|
### [DEP-003] Docker Security Hardening
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: Running as root user, missing security hardening
|
- **Description**: Running as root user, missing security hardening
|
||||||
- **Files affected**: `Dockerfile`, `docker-compose.yml`
|
|
||||||
- **Action needed**: Add USER directive, read-only filesystem, health checks
|
- **Action needed**: Add USER directive, read-only filesystem, health checks
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
## **Bugs & Logical Errors** 🐛
|
## **Bugs & Logical Errors** 🐛
|
||||||
|
|
||||||
### [BUG-001] Flow Engine Validation
|
### [BUG-001] Flow Engine Validation
|
||||||
- **Status**: TODO
|
- **Status**: DONE
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: `flow_engine.py:72` missing validation for empty steps array
|
|
||||||
- **Files affected**: `flow_engine.py`
|
|
||||||
- **Action needed**: Add input validation and error handling
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [BUG-002] Printer Module IMAP Search
|
### [BUG-002] Printer Module IMAP Search
|
||||||
- **Status**: TODO
|
- **Status**: DONE
|
||||||
- **Priority**: Medium
|
- **Priority**: Medium
|
||||||
- **Description**: `printer.py:88` IMAP search doesn't handle large email counts
|
|
||||||
- **Files affected**: `printer.py`
|
|
||||||
- **Action needed**: Add email pagination and marking as read
|
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
### [BUG-003] Identity Module String Comparison
|
### [BUG-003] Identity Module String Comparison
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Low
|
- **Priority**: Low
|
||||||
- **Description**: `identity.py:42` string comparison for ADMIN_ID could fail if numeric
|
- **Description**: `identity.py:42` string comparison for ADMIN_ID could fail if numeric
|
||||||
- **Files affected**: `identity.py`
|
|
||||||
- **Action needed**: Fix type handling for user ID comparison
|
- **Action needed**: Fix type handling for user ID comparison
|
||||||
- **Due**: Next sprint
|
|
||||||
|
|
||||||
## **Documentation & Testing** 📚
|
## **Documentation & Testing** 📚
|
||||||
|
|
||||||
@@ -164,50 +106,50 @@ This document tracks all pending tasks, improvements, and issues identified in t
|
|||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Low
|
- **Priority**: Low
|
||||||
- **Description**: AGENTS.md vs implementation inconsistencies
|
- **Description**: AGENTS.md vs implementation inconsistencies
|
||||||
- **Files affected**: `AGENTS.md`, various modules
|
|
||||||
- **Action needed**: Update documentation to match actual implementation
|
- **Action needed**: Update documentation to match actual implementation
|
||||||
- **Due**: Future iteration
|
|
||||||
|
|
||||||
### [TEST-001] Test Coverage
|
### [TEST-001] Test Coverage
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Low
|
- **Priority**: Low
|
||||||
- **Description**: Missing comprehensive test coverage
|
- **Description**: Missing comprehensive test coverage
|
||||||
- **Files affected**: All modules
|
|
||||||
- **Action needed**: Add unit tests, integration tests, and E2E tests
|
- **Action needed**: Add unit tests, integration tests, and E2E tests
|
||||||
- **Due**: Future iteration
|
|
||||||
|
|
||||||
### [TEST-002] Code Quality Tools
|
### [TEST-002] Code Quality Tools
|
||||||
- **Status**: TODO
|
- **Status**: TODO
|
||||||
- **Priority**: Low
|
- **Priority**: Low
|
||||||
- **Description**: Missing code quality tools (black, flake8, mypy)
|
- **Description**: Missing code quality tools (black, flake8, mypy)
|
||||||
- **Files affected**: Repository configuration
|
|
||||||
- **Action needed**: Add code quality tools and CI/CD integration
|
- **Action needed**: Add code quality tools and CI/CD integration
|
||||||
- **Due**: Future iteration
|
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
## **Sprint Planning**
|
## **Sprint Planning**
|
||||||
|
|
||||||
### **Previous Sprint (High Priority)**
|
### **Previous Sprints**
|
||||||
- **[DONE]** [SEC-001] File upload security validation
|
- **[DONE]** [SEC-001] File upload security validation
|
||||||
- **[DONE]** [DEP-002] Package security updates
|
- **[DONE]** [DEP-002] Package security updates
|
||||||
- **[DONE]** [IMP-001] Whisper transcription agent
|
- **[DONE]** [IMP-001] Whisper transcription agent
|
||||||
|
- **[DONE]** [SEC-002] Secret management implementation
|
||||||
|
- **[DONE]** [SEC-003] Database connection pooling
|
||||||
|
- **[DONE]** [DEP-001] Python version upgrade
|
||||||
|
- **[DONE]** [ARCH-001] Main.py refactoring
|
||||||
|
- **[DONE]** [ARCH-002] Error handling consistency
|
||||||
|
- **[DONE]** [BUG-001] Flow engine validation
|
||||||
|
- **[DONE]** [BUG-002] Printer module fixes
|
||||||
|
- **[DONE]** [PERF-001] Database Connection Pooling
|
||||||
|
|
||||||
### **Current Sprint (Medium Priority)**
|
### **Current Sprint**
|
||||||
- [SEC-002] Secret management implementation
|
- [IMP-002] Dynamic Menu Generation
|
||||||
- [SEC-003] Database connection pooling
|
- [DEP-003] Docker Security Hardening
|
||||||
- [DEP-001] Python version upgrade
|
- [BUG-003] Identity Module String Comparison
|
||||||
- [ARCH-001] Main.py refactoring
|
- [PERF-002] Memory Management
|
||||||
- [ARCH-002] Error handling consistency
|
|
||||||
- [BUG-001] Flow engine validation
|
|
||||||
- [BUG-002] Printer module fixes
|
|
||||||
|
|
||||||
### **Future Iterations (Low Priority)**
|
### **Future Iterations**
|
||||||
- Dynamic menu generation
|
- [IMP-003] Button Dispatcher Agent
|
||||||
- Button dispatcher agent
|
- [ARCH-003] Code Duplication
|
||||||
- Performance optimizations
|
- [PERF-003] Flow Engine Memory Usage
|
||||||
- Documentation updates
|
- [DOC-001] Documentation Consistency
|
||||||
- Test coverage expansion
|
- [TEST-001] Test Coverage
|
||||||
|
- [TEST-002] Code Quality Tools
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user