Closes review finding T1 from PR #175: make the plan service notion of today injectable (scheduler clock) and assert the plan_ready payload title and channel, not just the key. Existing key/absence assertions kept.
Required checks: gofmt, go vet, go test -race ./internal/scheduler/..., CGO_ENABLED=0 go build.
Maestro task ece60217-04d0-43a4-9690-4aba2a00d420.
Closes review finding T1 from PR #175: make the plan service notion of today injectable (scheduler clock) and assert the plan_ready payload title and channel, not just the key. Existing key/absence assertions kept.
Required checks: gofmt, go vet, go test -race ./internal/scheduler/..., CGO_ENABLED=0 go build.
The plan service read "today" from time.Now, so the plan-draft schedule
tests could not pin the plan_ready title on the fake clock. NewService now
takes a clock; the server passes the scheduler's Now. The plan-draft tests
read the started scheduler's fake clock and assert each plan_ready row's
title and channel alongside the existing key assertions.
Maestro task ece60217-04d0-43a4-9690-4aba2a00d420
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Maestro task ece60217-04d0-43a4-9690-4aba2a00d420.
Closes review finding T1 from PR #175: make the plan service notion of today injectable (scheduler clock) and assert the plan_ready payload title and channel, not just the key. Existing key/absence assertions kept.
Required checks: gofmt, go vet, go test -race ./internal/scheduler/..., CGO_ENABLED=0 go build.
Independent Codex gpt-6-sol review: APPROVED for this exact commit.