The schedule now knows what has to happen first

Requests can wait for other requests, the scheduler honors that order, and Orkyo shows you the chain of work that decides your finish date.

Until now Orkyo knew what work belonged together, but not what had to happen first. The milling and the inspection sat in the same project, and nothing stopped somebody from booking the inspection on Tuesday and the milling on Thursday.

This release adds sequence to the model. A request can wait for another request, the scheduler respects that, and the plan tells you which chain of work decides the finish date.

A request can wait for another request

Open a saved request and select the Dependencies tab. Add the work it waits for, and a Gap if the work must settle first — paint that has to cure, a part that has to cool.

Sequence is separate from the tree on purpose. The tree says what a request is part of, and a dependency says what must happen first. Real precedence crosses group and site boundaries, so a request in one group can wait for work in another. Modeling it as the order of children inside a group breaks the first time reality does not cooperate.

Only schedulable requests can carry a dependency. A container’s dates come from its children and it never reaches the scheduler, so Orkyo refuses the link rather than record a promise it can not keep. It also refuses a request that waits for itself, and any link that closes a loop.

Documentation: Dependencies and the critical path

The scheduler places a successor after its predecessor

Auto-schedule honors the order, and it will not do otherwise. Requests in the same run are placed in sequence. A predecessor that is already scheduled bounds its successor by the finish date plus any gap.

When the predecessor is neither scheduled nor part of the run, the successor stays in the backlog with the reason Waiting on an unscheduled predecessor. That is deliberate. A placement there breaks the sequence the moment it lands, and a named reason is more useful than a plan that is wrong on arrival.

One run schedules one resource type, so a successor whose predecessor needs a different type waits for that type’s run. Schedule the predecessor’s type first.

Documentation: Auto-scheduling

A broken sequence is a conflict

Dependency Violation joins the conflict kinds. It has two severities. A successor that starts before its predecessor finishes is an error: the plan is wrong. A successor whose predecessor is not scheduled at all is a warning: the plan is incomplete, and nothing is wrong yet. Nothing is reported while the successor itself sits in the backlog, because a backlog item breaks no promise.

The conflict trend chart gains two series, so its bars again add up to the total it reports.

Documentation: Understanding conflicts

Insights shows what constrains the plan

A fourth tab, Bottlenecks, answers a different question from the other three: not how the period trends, but what limits you right now.

Most overloaded stations and Most overloaded assets rank the resources booked past their capacity, worst first. The two lists match how the app already divides resources, because ranked together one busy class takes every place and hides the other. Each list has a resource type selector, so you can look at the class as a whole or at one type on its own.

The ranking is measured per day whatever period you select, because overbooking is a spike — a machine slammed on nine days of a month and idle for the rest averages out to something comfortable, and a monthly figure hides exactly the days that hurt.

Critical path shows the chain of work that decides the finish date, with the earliest and latest dates each request can take and its float: the days it can slip before it costs something. Zero float is critical. Select a row to open that request.

Work that is already placed anchors the path. Its dates are facts about the plan, so the computation uses them rather than proposing something earlier. Everything is in whole days, which is the granularity the scheduler plans in.

Documentation: Insights and KPIs

A security fix for sign-in

This release also moves Keycloak, the identity server behind Orkyo sign-in, to 26.7.2. The version before it has a critical fault in the password reset flow that can let somebody take over an account. Nothing in your workspace changes, and you do not have to do anything.

Self-hosted installations get the fix in the same image. Update to this release.

Orkyo Community

Community has everything in this release: dependencies, the scheduler behavior, the new conflict kind, and the Bottlenecks tab. None of it is a plan feature.