Merge origin/dev (Feature 20 scheduler) into Feature 21 Home dashboard
CI / ci (push) Successful in 8m7s
CI / ci (pull_request) Successful in 8m7s

Keep both the scheduler registrations and the Home service wiring in
cmd/server, pass the scheduler wake function to plan.NewService in the
Home and server tests, and document that boot catch-up processes every
unclaimed fire time within 24 hours, oldest first (F20-02).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-10 19:46:46 -04:00
co-authored by Claude Opus 5.5
40 changed files with 4461 additions and 230 deletions
+6
View File
@@ -0,0 +1,6 @@
-- name: ClaimScheduleRun :execrows
-- Claims one period of a schedule. The insert is the claim: 1 row means
-- this caller owns the period, 0 rows means it was already claimed.
INSERT INTO schedule_runs (id, schedule, period_key, created_at)
VALUES (?, ?, ?, ?)
ON CONFLICT (schedule, period_key) DO NOTHING;