Skip to main content
This page documents MobKit v0.8.34 (mirrored from v0.8.34). MobKit uses Meerkat’s durable ScheduleService as its only scheduling authority. Schedule definitions live in the schedule store, every firing is claimed as an occurrence, and the firing host records the outcome before it advances.
The stateless mobkit/scheduling/evaluate and mobkit/scheduling/dispatch methods were removed in contract 0.5.0. runtime_options.scheduling_files is also rejected. Static TOML evaluation never owned durable firing authority.

Enable schedule tools

Enable schedule tools on the member profile:
The gateway binds the member’s meerkat_schedule_{create,get,list,update,pause,resume,delete,occurrences} tools and the firing host to the same ScheduleService and store.

Durable ownership

A persistent gateway stores schedules under its state directory. The firing pipeline has four parts:
  1. ScheduleService owns definitions and occurrence state.
  2. The schedule host resolves due occurrences.
  3. The host claims each occurrence before target delivery.
  4. The terminal firing result is written back to the same store.
This makes restart recovery and duplicate suppression properties of the schedule domain itself. Callers do not poll a tick oracle or keep a second schedule registry.

Targets

Schedules can target:
  • a session
  • a mob member
  • a named host runnable
Python applications register deterministic host runnables with MobKitBuilder.host_runnables(...) and handle callback/schedule_fire through MobKitRuntime.on_schedule_fire(...). The callback is delivery for a durable occurrence, not a substitute scheduler.

Rust embedding

Rust embedders can supply a schedule store and attach both schedule tools and the firing host through meerkat_mobkit::schedule_wiring. Keep those two surfaces on one ScheduleService; using separate stores would split authoring from firing authority.

Migration from static scheduling

  1. Remove .scheduling(...) from Python and TypeScript builders.
  2. Remove runtime_options.scheduling_files.
  3. Create schedules through the meerkat_schedule_create tool or ScheduleService.
  4. Bind deterministic application work as a host runnable when needed.
  5. Inspect occurrences through meerkat_schedule_occurrences.
Unknown runtime_options.scheduling_files fails mobkit/init with -32602. Calls to either removed mobkit/scheduling/* method return the standard -32601 method-not-found error.

See also