This file tracks the status of all project tasks, milestones, and discovered work. For requirements and architecture, see specification.md.
- Implement Chat for a new decision, instead of a form-based approach, including:
- Pre-chat summary display (last session & DecisionSummary)
- Session controls (End Session button, status indicator)
- Review pages (SessionReview and DecisionRecap)
- Align AI endpoint with standard message APIs
- Rich text & system note support
- Unit tests for chat UI (stub/replace ChatScope)
- E2E tests for chat UI
- The canonical specification and prompt engineering for the Decision Chat feature are documented in docs/decision_chat_design.md. All implementation, testing, and future enhancements should align with this document.
- Implement Optional Social Login
- Integrate Speech-to-Text (Optional)
- Set Up Push Notifications
- Implement Email Notification System
- Build Analytics & Reporting Module
- Construct an Admin Dashboard
- Integrate Application Insights
- Perform Load and Stress Testing
- Continue to improve safety and robustness of automated DB migrations (see .github/workflows/azure-backend.yml and specification.md)
- Add pre-migration backup, manual approval for production, and/or rollback strategy.
- Review Azure App Service + Alembic best practices for zero-downtime and safe schema changes.
- Finalize Product Requirements
Product requirements, vision, and scope finalized based on user feedback. The single source of truth for requirements is:
- specification.md (canonical product & technical specification)
- decisions_log.md (rationale and historical context only)
- PRS_original.md (historical reference, superseded)
- Define Key Data Entities
Key data entities for the MVP are now finalized and documented in:
- decisions_log.md (agreement and rationale)
- specification.md (current product specification)
- Architecture Design Document
System architecture, data flow, and all diagrams are finalized and fully documented in:
- specification.md (see Architecture Design and User Journey Diagrams sections)
- Set Up Version Control
Git repository initialized and connected to remote:
- https://github.com/GenAI-Gurus/phronesis
- .gitignore, README.md, and MIT LICENSE added and pushed to main branch.
- Project is ready for open-source collaboration and advanced user contributions.
- Initialize Python Project
Modular FastAPI backend scaffolded in the
backend/directory, designed for maintainability and AI-friendly expansion. See:- backend/README.md (project overview)
- backend/STRUCTURE.md (folder and module structure)
- backend/requirements.txt (core dependencies)
- Implement Decision Chat Session & Message Endpoints
CRUD API endpoints for DecisionChatSession and DecisionChatMessage, with Pydantic validation, database integration, and Pytest unit tests (expected, edge, failure cases) are implemented and tested. All tests pass as of 2025-04-15.
- Endpoints in backend/app/api/v1/endpoints/decisions.py
- Models in backend/app/models/decision.py, reflection.py
- Tests in tests/app/api/v1/endpoints/test_decisions.py
- Establish Dependency Management (Poetry) Poetry installed and configured for the backend. Dependencies managed in pyproject.toml/poetry.lock. requirements.txt is now obsolete and will be removed.
- Design Backend Folder Structure Backend folder structure is modular, AI-friendly, and documented in backend/STRUCTURE.md. Ready for scalable development.
- Configure Local Development Environment
.env.example added for safe, maintainable environment variable management. Local dev server can be started with
poetry run uvicorn app.main:app --reload. See backend/README.md for instructions. - Set Up Azure Cloud Resources & Provision App Service Azure App Service (Linux, Python 3.11) was provisioned using Bicep templates as described in infra/bicep/README.md. See Azure Portal for resource details.
- Provision a Database on Azure Azure SQL Database was provisioned using Bicep templates. Admin login and password were set securely, and the SQL firewall rule was intentionally skipped due to dynamic developer IP (see decisions_log.md). Azure-internal access is enabled by default.
- Set Up Database Security (Key Vault) Database connection is secured using Azure Key Vault. The backend loads the DATABASE_URL from environment variables, which should point to Key Vault in production and to SQLite for local development. See .env.example for details.
- Design Database Schema & Migrations All core and gamification entities are modeled in SQLAlchemy. Alembic is set up for migrations. See backend/README.md for database migration instructions using Alembic. This ensures your schema is up to date both locally and in production.
- Implement User Registration API /api/v1/register endpoint implemented. Validates email and password, checks for duplicates, hashes password, and returns new user info.
- Implement Authentication /api/v1/login endpoint implemented. Verifies credentials and returns JWT access token on success.
- Develop User Profile API /api/v1/me endpoints implemented. Supports authenticated profile retrieval and update for current user.
- Build Frontend Base Framework
- Choose frontend stack (React + Vite + TypeScript + Material UI)
- Scaffold project in /frontend
- Set up folder structure (src/components, src/pages, src/api, etc.)
- Configure routing (React Router)
- Add API client and connect to backend
- Document setup in /frontend/README.md Frontend base framework is fully implemented and tested as of 2025-04-16.
- Design Registration and Login Screens
- Create Registration UI (Material UI form)
- Create Login UI (Material UI form)
- Add client-side validation
- Integrate with backend API
- Show error/success messages
- Add component/unit tests All frontend authentication screens and validation logic are implemented and tested. All tests pass as of 2025-04-16.
- Implement Reflection Prompt Generator Endpoint
- Integrate OpenAI API for Prompts
- Develop UI for Reflection Prompts
- Implement Auto Tagging and Categorization
- Develop User Dashboard UI
- Create Decision Journal Data Model
- Implement Decision Journal API endpoints (session/message CRUD, status update)
- Implement Decision Journal Entry creation, listing, and update endpoints
- Build Decision Journal Form UI
- Implement Reflection Prompt Generator Endpoint (backend, OpenAI integration, fallback, tests)
- Integrate OpenAI API for Prompts (backend reflection prompt generator endpoint, fallback, tests)
- Develop UI for Reflection Prompts (frontend, error/loading handling, Material UI)
- Implement Auto Tagging and Categorization (OpenAI LLM, function calling, tests)
- Develop API for Value Calibration
- Create Value Calibration Data Model
- Design Value Calibration UI (frontend, backend, tests)
- Implement Tension Detector Logic (backend service, tests)
- Build Decision Support Chat API (FastAPI endpoint, tests)
- Develop Chat UI for Decision Support (Material UI, tests)
- Integrate OpenAI Chat API (backend endpoints, fallback, tests)
- Implement Future-Self Simulator Backend (OpenAI, fallback, tests)
- Develop Simulator UI Component (frontend, tests)
- Implement Life Theme & Progress Tracker (backend, frontend, tests)
- Develop Progress Visualization UI (Material UI, Recharts, tests)
- Create Gamification Module (Backend, endpoints, models, tests)
- Develop Gamification UI Elements (frontend, Material UI, tests)
- Prepare backend for Azure App Service (Dockerfile, Gunicorn/Uvicorn, env vars)
- Prepare frontend for Azure Static Web Apps (build output, GitHub Actions)
- Connect Azure Key Vault or App Service settings for secrets
- Add GitHub Actions deployment step for backend (azure/webapps-deploy@v3)
- Add GitHub Actions deployment step for frontend (Azure/static-web-apps-deploy@v1)
- Set Up CI/CD Pipeline (GitHub Actions for backend and frontend CI)
- GitHub Actions is now configured for backend (FastAPI, Poetry) and frontend (React, Vite) CI. See .github/workflows/ci-cd.yml and README.md for details.
- Test deployment and document URLs for QA
Production URLs:
- Frontend: https://ambitious-ground-0a5060803.6.azurestaticapps.net/
- Backend: https://phronesis-backend-app.azurewebsites.net/api/v1 QA Checklist:
- Frontend loads and displays dashboard
- Registration and login work
- Journal, reflection, and chat features function as expected
- Backend API responds to requests (e.g., /api/v1/docs)
- No critical errors in browser or server logs
- Environment variables/secrets are loaded correctly
- All major user flows tested
- Set Up Push Notifications
- Implement Email Notification System
- Build Analytics & Reporting Module
- Construct an Admin Dashboard
- Integrate Application Insights
- Establish Automated Testing
- Perform Load and Stress Testing
- Set Up CI/CD Pipeline
- GitHub Actions is now configured for backend (FastAPI, Poetry) and frontend (React, Vite) CI. See .github/workflows/ci-cd.yml and README.md for details.
- Deploy MVP to Production