Skip to content

agents/peggy: surface schedules over daemon, Telegram, and dashboard #280

Description

@erain

Goal

Surface Peggy's scheduled runs (shipped in #273 / PR #279) over the
daemon protocol, Telegram, and the dashboard, so schedules can be
managed and observed without local CLI access to the daemon host.

Scope

  • glue connect --schedules (and --schedules-json) to list schedules
    from a running daemon; add/remove over the daemon protocol.
  • Telegram daemon command to list schedules (/schedules) for
    allowlisted chats.
  • Dashboard section listing schedules and their next/last run + last
    error.

Out of scope

  • Deferred-approval-over-Telegram for unattended side effects (separate
    follow-up if wanted).
  • Cron-expression cadence (current: --every interval and --at one-shot).

Implementation notes

The scheduling core, persistence, per-schedule tier, and peggy schedule/schedules CLI already exist in agents/peggy
(schedule.go, schedule_store.go, scheduler.go). This issue is the
remote/observability surface over that core, mirroring how memories and
sessions are exposed through the daemon, Telegram, and dashboard.

Docs update required

  • agents/peggy/README.md (daemon, Telegram, dashboard sections).
  • agents/peggy/CHANGELOG.md.

Verification commands

go build ./...
go vet ./...
go test ./agents/peggy/... ./daemon/

Acceptance criteria

  • A schedule can be listed from a running daemon via glue connect.
  • Telegram lists schedules for allowlisted chats.
  • The dashboard shows schedules with next/last run and last error.
  • Build, vet, and the listed package tests are green.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions