runs in your browserattention budget · capacity-awareApache-2.0 · zero-dep

Dispatch decides who. This decides when.

Priority and assignee aren't enough — “not now” matters. Given a person's open windows, focus blocks, current load, and the task's deadline, this places the work where it'll actually get done: “Maya has 4h of meetings — put this in her 9–11am focus block.” Focus + low-load windows win; urgency scales with priority; deadlines are honored; and it fails closed when nothing fits rather than forcing a bad slot.

Placement (live)
window
why
deadline risk
windows considered

Honest scope. A deterministic placement kernel — it picks the best slot; your calendar layer (Google/Outlook, already wired) supplies the windows and books the result. It does not move money or mutate a calendar by itself. Scoring is transparent: focus_bonus + (1−load)·w − priority·lateness; ties break to the earlier start; an impossible deadline still schedules the earliest-ending window but flags deadline_risk. Composes with Flow State (the seed) and the meter kernel (budget horizon). Source: flowdesk-schedule-kernel.js.