Getting started
Graph Scheduler ships as a set of layered import subpaths, so dependencies point down and you reach for the layer that matches your question.
| Import | Reach for it when | Runtime deps |
|---|---|---|
graph-scheduler | You have a graph and a status map and want the next runnable work. | none |
graph-scheduler/graph | You want to build and query the immutable dependency graph directly. | none |
graph-scheduler/tracker | You want to track readiness across status updates over time. | none |
graph-scheduler/pull | You want to draw the next runnable node from a tracker. | none |
The whole library is zero-dependency: the graph core, the tracker, and the pull surface pull nothing at runtime. The engine reasons over the graph and status alone.
Status
Section titled “Status”The engine is under construction — the package is a scaffold, and each layer lands as its own task. The API Reference in the sidebar tracks exactly what has shipped so far.
For the full intended surface — getReady, trigger rules, eligibility filters,
priority sorters, goal-direction, and pull resolution — see the design decision
D-BPD8-graph-scheduler-api and the product PR-DZTZ-graph-scheduler in the
repository. Those documents pin the API this site will grow to describe.