feat(gamification): list_recent_completions query + DailyCompletionCount

Returns a fixed-length, oldest-first series of daily completion counts
for the last N local-time days. Excludes cascade parents and
uncompleted rows. Empty days are explicit zeros, not missing entries,
so the Phase 8 sparkline can render a fixed 7 bars.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-04-24 20:25:32 +01:00
parent 839754f4ee
commit 83bd338aff
3 changed files with 208 additions and 6 deletions

View File

@@ -12,11 +12,12 @@ pub use database::{
delete_transcript, get_implementation_rule, get_profile, get_setting, get_task_by_id,
get_transcript, init, insert_implementation_rule, insert_subtask, insert_task,
insert_transcript, list_feedback_examples, list_implementation_rules, list_profile_terms,
list_profiles, list_recent_errors, list_subtasks, list_tasks, list_transcripts,
list_transcripts_paged, log_error, mark_implementation_rule_fired, record_feedback,
search_transcripts, set_implementation_rule_enabled, set_setting, set_task_energy,
uncomplete_task, update_profile, update_task, update_transcript, update_transcript_meta,
ErrorLogRow, FeedbackRow, FeedbackTargetType, ImplementationRuleRow, InsertTranscriptParams,
ProfileRow, ProfileTermRow, RecordFeedbackParams, TaskRow, TranscriptRow,
list_profiles, list_recent_completions, list_recent_errors, list_subtasks, list_tasks,
list_transcripts, list_transcripts_paged, log_error, mark_implementation_rule_fired,
record_feedback, search_transcripts, set_implementation_rule_enabled, set_setting,
set_task_energy, uncomplete_task, update_profile, update_task, update_transcript,
update_transcript_meta, DailyCompletionCount, ErrorLogRow, FeedbackRow, FeedbackTargetType,
ImplementationRuleRow, InsertTranscriptParams, ProfileRow, ProfileTermRow,
RecordFeedbackParams, TaskRow, TranscriptRow,
};
pub use file_storage::{app_data_dir, crashes_dir, database_path, logs_dir, recordings_dir};