Task: Add scheduler binary protocol

Table of Contents

This page documents a task in the Scheduling subsystem story. It captures the goal, current status, acceptance, and any notes or results.

Goal

Add the binary-protocol surface for the scheduling subsystem.

Status

Field Value
State DONE
Parent story Scheduling subsystem
Now Completed 2026-02-26.
Waiting on None.
Next None.
Last touched 2026-02-26

Acceptance

  • Scheduler subsystem range 0x9000-0x9FFF reserved.
  • Four request/response pairs: get_job_definitions (0x9000/0x9001), schedule_job (0x9002/0x9003), unschedule_job (0x9004/0x9005), get_job_history (0x9006/0x9007).
  • Handler registered in ores.comms.service via the existing registrar pattern.
  • Custom rfl::Reflector specialisations for cron_expression + job_status live in ores.scheduler/rfl/reflectors.hpp to avoid circular dep with ores.utility.
  • Protocol 45.0 (breaking).

Plan

Captured during execution; cleared into the parent story on close.

Notes

Pairs naturally with add_scheduling_support; protocol comes first so the lib's surface is settled.

Result

Scheduler subsystem reachable over the binary protocol.

Emacs 29.1 (Org mode 9.6.6)