Skip to content

Time-triggered work (scheduled agent runs): does subc core want a schedule surface? (companion to #1) #2

Description

@iceteaSA

Second scheduler-scope question, separate from #1 (condition watchers): time-triggered work.

Context

Before adopting subc we explicitly declined to build a hand-rolled systemd-timer heartbeat for scheduled agent autonomy — the decision was "wait for the daemon". The daemon now runs on this box (aft + insula + claustrum modules). This issue lists what that decision parked, as input to whether subc core wants to own a schedule surface.

What we'd schedule, concretely

  • Weekly: regenerate model-performance tables from our score DB (a deterministic script today, run only when a human remembers).
  • Nightly window (02:00-06:00): memory-curation runs that today require the harness to be open.
  • Weekly: regression-eval batches (dispatch N agent tasks, grade, write scores).
  • Ad-hoc future: "run this maintenance task Sunday 03:00 once" — one-shots with delivery of results to a session or notification sink.

The common shape: cron-like triggers that either run a command/module op directly or wake a harness session with a prompt. The second half is the part we cannot build daemon-side ourselves — it needs a defined contract between the scheduler and a harness adapter.

Asks

  1. Is a time-trigger/schedule surface planned in subc core (alongside whatever becomes of Where should restart-surviving condition watchers live? (scheduler scope vs module home) #1's condition watchers)? This is the same scope question, so if the answer is "modules own schedules, core stays a supervisor", that answers both.
  2. If module-side: is there a blessed pattern for a module to deliver "time to do X" into a harness (event a plugin subscribes to? spawn a command?), or is that adapter ours to define?

We can contribute the operator-side semantics we already run (interval + timeout + notify contracts from our in-process watcher tool) as prior art if useful.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions