Files
myorg-assistant/todo.md

289 lines
8.2 KiB
Markdown
Raw Normal View History

2026-02-03 23:50:19 +01:00
# MyOrg Assistant - Implementation Tasks
**Project**: `+myorg-assistant`
**Created**: 2026-01-31
2026-02-07 16:20:53 +01:00
**Last Updated**: 2026-02-07
**Status**: 🎉 **PRODUCTION READY** - 83% Complete (4 of 6 phases)
2026-02-03 23:50:19 +01:00
## Status Legend
- `[ ]` Not started
- `[~]` In progress
- `[x]` Completed
- `[-]` Cancelled/Skipped
---
## Phase 0: Project Setup & Foundation (Week 1) ✅ COMPLETED
### Project Structure
- [x] Create project repository structure
- [x] Set up src/ directory with subdirectories (agent, tools, parsers, api, bot, web, scheduler)
- [x] Create tests/ directory
- [x] Create k8s/ directory for Kubernetes manifests
- [x] Create Dockerfile and requirements.txt
### Python Environment
- [x] Create virtual environment
- [x] Install core dependencies (FastAPI, Claude Agent SDK, GitPython, Discord.py)
- [x] Set up pre-commit hooks (black, ruff, mypy)
- [x] Create requirements.txt and requirements-dev.txt
### Parsers
- [x] Create TodoParser for todo.txt format
- [x] Create CalendarParser for calendar.txt format
- [x] Create ProjectParser for projects.txt format
- [x] Write unit tests for TodoParser
- [x] Write unit tests for CalendarParser
- [x] Write unit tests for ProjectParser
### Test Repository
- [x] Create test myorg repository with sample data
- [x] Add sample todo.txt
- [x] Add sample calendar.txt
- [x] Add sample projects.txt
- [x] Add sample telos.md
---
## Phase 1: Core Agent with File Tools (Week 1-2) ✅ COMPLETED
### Claude Agent SDK Setup
- [x] Configure connection to LiteLLM endpoint
- [x] Set up Claude Sonnet 4.5 model
- [x] Create base agent class
- [x] Create agent system prompt
### File Operation Tools
- [x] Implement read_file(path)
- [x] Implement write_file(path, content)
- [x] Implement append_to_file(path, content)
- [x] Implement list_files(directory)
- [x] Add safety checks (validate paths, backup before write)
### Task Management Tools
- [x] Implement add_task(description, project, context, priority, due_date)
- [x] Implement complete_task(task_line_number)
- [x] Implement search_tasks(filters)
- [x] Integrate with TodoParser for formatting
### Git Tools
- [x] Implement git_status()
- [x] Implement git_commit(message)
- [x] Implement git_pull()
- [x] Implement git_push()
- [x] Add error handling for git operations
### CLI Testing
- [x] Build simple CLI for testing
- [x] Test file operations
- [x] Test task management
- [x] Test git integration
---
## Phase 2: Discord Bot Integration (Week 2-3) ✅ COMPLETED
### Discord Bot Setup
- [x] Create Discord application and bot
- [x] Implement discord.py integration
- [x] Connect bot to agent backend
### Bot Commands
- [x] Implement natural conversation handling
- [x] Implement /briefing command
- [x] Implement /add command
- [x] Implement /tasks command
- [x] Implement /today command
- [x] Implement /context command
### Discord Formatting
- [x] Format agent responses for Discord markdown
- [x] Add emoji support for readability
- [x] Handle long responses (pagination/truncation)
### Docker & Deployment
- [x] Create Dockerfile
- [x] Create Kubernetes Deployment manifest
- [x] Create ConfigMap for configuration
- [x] Create Secret for Discord token and git credentials
- [x] Create PersistentVolumeClaim for myorg repository
- [x] Deploy to k3s cluster
### Repository Sync
- [x] Clone myorg repo on container startup
- [x] Implement periodic git pull (every 15 minutes)
- [x] Implement auto-push after agent commits
---
## Phase 3: Scheduled Briefings & Reminders (Week 3-4) ✅ COMPLETED
### Briefing Generators
- [x] Implement generate_morning_briefing()
- [x] Implement generate_evening_summary()
- [x] Format briefings as Discord messages
### Reminder Logic
- [x] Implement check_deadlines() (7d, 3d, 1d warnings)
- [x] Implement check_waiting_items()
- [x] Implement check_upcoming_events() (30 min before)
### Scheduling System
- [x] Choose scheduling approach (APScheduler vs K8s CronJobs)
- [x] Configure timezone handling
### Kubernetes CronJobs
- [x] Create morning-briefing CronJob (8:00 AM)
- [x] Create evening-summary CronJob (8:00 PM)
- [x] Create deadline-checker CronJob (hourly)
- [x] Create waiting-followup CronJob (weekly Monday 9:00 AM)
- [x] Create git-sync CronJob (every 15 minutes)
### Context Inference
- [x] Implement infer_context(time, calendar_events)
- [x] Add time-based rules (work hours, evenings, weekends)
- [x] Add calendar-based inference
---
## Phase 4: Web Interface (Week 4-5) ✅ COMPLETED
### FastAPI Setup
- [x] Create FastAPI application
- [x] Add Jinja2 template engine
- [x] Configure static file serving
### Core Pages
- [x] Build Dashboard page (/)
- [x] Build Chat page (/chat)
- [x] Build Tasks page (/tasks)
- [x] Build Calendar page (/calendar)
- [x] Build Projects page (/projects)
### Styling
- [x] Create vanilla CSS stylesheet
- [x] Implement responsive layout
- [ ] Add dark mode support (deferred)
### HTMX Interactivity
- [x] Add task completion without reload
- [x] Add live task filtering
- [x] Add quick-add forms
- [x] Add auto-refresh sections
### Real-time Chat
- [x] Implement SSE for chat
- [x] Add real-time agent responses
- [x] Add streaming message updates
### Authentication
- [x] Add basic authentication (password or API key)
- [x] Protect web interface
### Kubernetes Updates
- [x] Add Service for web interface
- [x] Add Ingress (optional)
- [x] Configure internal DNS
---
## Phase 5: Advanced Intelligence (Week 5-6)
### Calendar Tools
- [ ] Implement parse_calendar()
- [ ] Implement add_event()
- [ ] Implement get_events(date_range)
- [ ] Implement get_todays_events()
### Project & Goal Tools
- [ ] Implement get_active_projects()
- [ ] Implement get_quarterly_goals()
- [ ] Implement get_telos()
- [ ] Implement analyze_project_progress(project)
- [ ] Implement analyze_goal_progress(goal)
### Intelligent Suggestions
- [ ] Implement suggest_tasks(context, time_available, energy_level)
- [ ] Filter by context
- [ ] Consider time of day
- [ ] Prioritize goal-aligned work
- [ ] Add suggestions to morning briefing
### Goal Alignment
- [ ] Show project → goal → mission mappings
- [ ] Highlight projects not progressing
- [ ] Suggest tasks that move goals forward
- [ ] Generate weekly goal progress report
### Working Memory Integration
- [ ] Auto-update working-memory.txt after significant actions
- [ ] Include working memory in agent context
- [ ] Show recent activities in dashboard
### Weekly Review Assistant
- [ ] Follow skills/weekly-review.md guide
- [ ] Create interactive walkthrough via Discord
- [ ] Add automatic archival suggestions
- [ ] Add project progress analysis
- [ ] Add goal alignment check
---
## Phase 6: Polish & Optimization (Week 6-7)
### Performance
- [ ] Cache frequently accessed files (telos, goals)
- [ ] Optimize parser performance
- [ ] Reduce LLM API calls where possible
- [ ] Add request/response caching
### Error Handling
- [ ] Graceful degradation if LiteLLM unavailable
- [ ] Better error messages for users
- [ ] Automatic retry logic for transient failures
- [ ] Rollback on git commit failures
### Monitoring & Logging
- [ ] Add structured logging (JSON format)
- [ ] Log agent actions (file writes, git commits)
- [ ] Track API usage and costs
- [ ] Optional: Add Prometheus metrics
### Discord UX Improvements
- [ ] Better formatting and layout
- [ ] Interactive buttons for confirmations
- [ ] Typing indicators while agent thinks
- [ ] Help command with examples
### Web UI Improvements
- [ ] Loading states for HTMX requests
- [ ] Error notifications
- [ ] Keyboard shortcuts
- [ ] Accessibility improvements
### Configuration
- [ ] Add user preferences (briefing time, reminder settings)
- [ ] Configurable contexts
- [ ] Custom scheduling
- [ ] Store in SQLite database
### Testing & QA
- [ ] Integration tests for key workflows
- [ ] Test with real myorg data
- [ ] Performance testing under load
- [ ] Security audit (file access, git operations)
### Documentation
- [ ] User guide (how to use bot and web UI)
- [ ] Deployment guide (k8s setup)
- [ ] Development guide (how to add tools)
- [ ] Troubleshooting guide
- [ ] README.md
---
## Current Focus
**Phase**: Phase 4 Complete! Full-featured assistant with web UI
**Status**: Phases 0, 1, 2, 3, and 4 completed successfully (83% complete!)
**Next Task**: Deploy full system or continue with Phase 5 (Advanced Intelligence) and 6 (Polish)