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 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:
ScheduleService owns definitions and occurrence state.
- The schedule host resolves due occurrences.
- The host claims each occurrence before target delivery.
- 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
- Remove
.scheduling(...) from Python and TypeScript builders.
- Remove
runtime_options.scheduling_files.
- Create schedules through the
meerkat_schedule_create tool or
ScheduleService.
- Bind deterministic application work as a host runnable when needed.
- 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