WhiteBoard Party #117
Updated by Sam Pearson 11 days ago
Tasks and Projects Status: ~70% aligned **Type**: Engineering Design **Effort**: Medium Implementation **Component**: Reports, API **Description** Gap status field (open, waiting, deferred, declined, stale) Not implemented Need to add status field to both models active boolean Projects have it, Tasks don't Need to add active to Tasks completed_at auto-set on completion Unknown—need to check service May need service logic Project completion blocks if incomplete subtasks Unknown—need to check service May need service logic Calendars, Routines, and Sessions Status: ~85% aligned Design Implementation Gap Calendars taggable/principled Not implemented (no mixins) Need to add mixins Sessions taggable/principled Sessions have TaggableMixin only Need to add PrincipledMixin Session status field Not implemented Need to add status field Session auto-creates Commitment Unknown—need to check service May need service logic Routine deactivation deletes future sessions (optional) Unknown May need service logic Commitments, Timeframes, and Checkins Status: ~95% aligned Design Implementation Gap Core functionality Fully implemented — Checkin target_types include report/tag/principle Service only validates task/project/routine/session Need to expand allowed types This group is in good shape—the service code matches the design closely. Tags and Principles Status: ~90% aligned Design Implementation Gap Core CRUD + attach/detach API endpoints for ReportTemplate, including metric management. **Acceptance Criteria** Fully implemented * [ ] GET /report-templates - list user's templates — * [ ] GET /report-templates/{id} - get template with its metrics Calendars taggable/principled * [ ] POST /report-templates - create template Calendar model lacks mixins * [ ] PUT /report-templates/{id} - update template Need to add mixins to Calendar * [ ] DELETE /report-templates/{id} - delete template Sessions principled Session model lacks PrincipledMixin Need to * [ ] POST /report-templates/{id}/metrics - add mixin Reports Status: ~20% aligned Design Implementation Gap Single Report model linked metric to Timeframe template Five separate models (DayReport, WeekReport, etc.) * [ ] DELETE /report-templates/{id}/metrics/{metric_type_id} - remove metric Full redesign needed * [ ] PUT /report-templates/{id}/default - set as default for its timeframe_kind MetricType (user-defined) Not implemented New model needed MetricValue Not implemented New model needed ReportTemplate Not implemented New model needed ReportTemplateMetric Not implemented New model needed Text fields (plan, reason, pre_notes, post_notes) Partially there (notes, start_notes, end_notes vary by type) Consolidate into unified fields 1:1 Timeframe link Not implemented (reports store their own dates) Need to add timeframe_id FK This is the big one—essentially a rewrite of the reports module. Summary Entity Group Alignment Effort to Fix Commitments, Timeframes, Checkins ~95% Minor (expand checkin target types) Tags * [ ] All endpoints require authentication and Principles ~90% Minor (add mixins enforce ownership **Files to Calendar, Session) Create** Calendars, Routines, Sessions ~85% Small (add status, mixins, commitment auto-creation) Tasks and Projects ~70% Medium (add status field, active flag, service logic) Reports ~20% Large (new models, migration, service rewrite) * src/api/routes/report_templates.py