Skip to content

feat(studio): Scheduled surface - #973

Closed
jtenniswood wants to merge 1 commit into
studio/S07from
studio/S08
Closed

feat(studio): Scheduled surface#973
jtenniswood wants to merge 1 commit into
studio/S07from
studio/S08

Conversation

@jtenniswood

Copy link
Copy Markdown

Stack 8/21 — Studio: Scheduled surface

The schedules surface, fully independent of chat (zero cross-surface imports).

  • Schedules list + detail pages, create/edit dialogs, schedule-form (cron+tz+max-fires ⊕ one-shot+retry) with the explicit write opt-in that makes the invalid mutating/plan pairing unconstructible, schedule-badges.
  • Edit round-trips the carried spec — the daemon's PUT replaces the whole spec, so the form re-sends what it loaded and never echoes a response body back as a request (the protojson/stdlib asymmetry from PR 4).
  • The real fire log with per-fire transcripts (transcript-dialog), lib/cron-builder (+test), sortable-head (first consumer).
  • formatters.ts reaches its final state (+ordinal/formatUntilTime exports); the schedules e2e spec row joins workspace.spec.ts.

Demo at this stack point: create, edit, pause, and fire a schedule; open a fire's transcript.

Part of the stacked landing of #618.

🤖 Generated with Claude Code

Schedules list and detail over the daemon's schedule store: authoring
supports the two real shapes — cron (timezone + optional max-fires) or
one-shot (+retry) — with mutating runs an explicit form opt-in, so the
invalid mutating/plan pairing is unconstructible. Edit round-trips the
carried spec (the daemon's PUT replaces the whole spec; the form re-sends
what it loaded and never echoes a response body back as a request). The fire
log is real, with per-fire transcripts via the shared transcript dialog.

lib/cron-builder (+test) renders the guided cron editor; sortable-head gets
its first consumer; formatters reaches its final state (ordinal +
formatUntilTime exports); the schedules e2e spec row joins workspace.spec.ts
against the fixture daemon.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@jtenniswood jtenniswood added enhancement New feature or request ui WebUI Applies to the WebUI interface labels Sep 2, 2026
@jhrozek jhrozek closed this Sep 12, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request ui WebUI Applies to the WebUI interface

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants