Repository navigation
plat 534
github-actions[bot] edited this page Oct 6, 2026
·
1 revision
| Field | Value |
|---|---|
| State | fixed on main |
| Priority | - |
| Product | crew |
| Area | scheduler-runs |
| Summary | built on main; not deployed; needs a live check. |
| Coordination | Value |
|---|---|
| State | built on main; not deployed; not yet tried live (owner to test) |
| Date | 2026-10-05 |
| Owner | scheduler-runs |
Owner: "in crew/code ... do we have something like one time schedule ... like check something after 3 hours" — no; Crew/Code schedules were cron or every-N-hours only (create_project_schedule required a cron line).
Scope: Crew and Code only (workflows already have dated calendar items).
-
productschedule.Schedule.RunAt(RFC3339): the third timing form besideCronExpressionandCadenceHours;Validaterequires exactly one.Decide: not due before the moment; due once at or after it (a server that was down runs it on its next tick); never again after a success; a failed attempt retries with the usual backoff and gives up afterOneTimeMaxFailures(3). - Agent tools
create_project_schedule/update_project_schedule(work_schedule_tools.go):in_minutes(1 to a year) orrun_at(RFC3339 with offset, must be in the future) instead ofcron_expression;timezoneis only required with a cron line. Exactly one of cron / in_minutes / run_at on create. Setting a one-time or cron form on update replaces the other form. - Schedules view: a one-time schedule is reported as a calendar entry (date + time in its timezone, " (one time)" in the description), with its next run until it has run, none after.
- External Crew spec (
crewScheduleSpec) acceptsrun_attoo, same replace-the-other-form rule. - Tests:
TestOneTimeScheduleRunsOnceAndOnlyOnce(decision + validation),TestOneTimeRunAtFromToolArguments(past refused, offsets, in_minutes), one-time response inTestProductScheduleJobResponseShape. The frontend keeps unknown schedule keys, sorun_atsurvives its manifest rewrites (read, not run).
- Live check by the owner: in a Crew/Code chat ask "check X in 5 minutes"; the schedule appears in Schedules as one-time and the agent runs it once in the chosen conversation; it never fires again.
- Not done: the finished one-time schedule stays in the list (enabled, no next run) until deleted (
delete_project_schedule); an auto-delete or a "done" label if that clutters. - Not done: a Schedules-view form for creating one by hand (the UI has no create form for Crew/Code schedules today; the agent creates them).
PLAT-534, built on main; not deployed; needs a live check.
Auto-synced from docs/ on main. Edit there, not here.