Separate recurring task instances into their own store - #19
Conversation
|
Reviewed. No logic bugs found in the core change; the design and implementation are coherent with the OpenSpec proposal. A few actionable issues: 1.
2. Canonical specs not synced (Medium — consistency) 3. Migration drops 4. 5. Core handlers, status mapping, morning-report classification, and exception-to-404 mapping all look correct, and the added tests cover the breaking cases (complete-by-template, no-active-instance, missing-template). |
|
Thanks for the thorough review. Addressing each point: 1. 2. Canonical specs not synced — fixed. Ran the OpenSpec sync workflow: 3. Migration drops 4. 5. |
Implements the
separate-recurring-task-instancesOpenSpec change.Summary
recurring_task_instancesstore/table and removeRecurringTaskIdfrom one-shot tasks./tasks/recurring/{id}/...endpoint resolves{id}as the template id.completemarks the template's current active instance done and creates the next.ITaskStoreandIClock.typediscriminator (one-shot|recurring) to each item, report recurring under the template id, and bumpschemaVersionto"3".complete_recurring_taskto take the template id fromlist_recurring_tasksand return the completed recurring instance.Verification
dotnet build Nagger.slnxsucceeds.dotnet test Nagger.slnx: 134 tests pass (74 Core + 60 Host).Note: this change builds on
add-seven-day-report-window, which is already archived onmain.