Skip to content

Getting started

The Spiral scheduler provides real-time dynamic scheduling, optimising resource allocation to project stops. All input and output is JSON: Spiral consumes a real-time instruction stream and produces output for host-system integration.

Spiral manages three data streams:

  • Input stream (stdin) — controls Spiral’s behaviour through JSON objects.
  • Output stream (stdout) — returns JSON updates, info messages and control notifications.
  • Error stream (stderr) — JSON logging with performance metrics and diagnostics.

Spiral is entirely memory-resident: it does not interact with any persistent storage or generate any other external messages. A tag attribute synchronises internal state between Spiral and the host system, supporting loose coupling.

A typical session progresses through five stages:

  1. Environment setup — licence keys and Spiral settings.
  2. Business parameterstopography definition and domain rules.
  3. Initial positions — add resources, queues and projects.
  4. Start scheduling — enable with {"set":{"schedule":true}}.
  5. Real-time changes — add, delete or update resources and projects as the operation runs.

Spiral’s output consists of:

  • Update messages — schedule changes.
  • Info messages — scheduling feedback.
  • Control messages — status indicators (optimised, primed, gear).

Honeywick customers receive dedicated, shared Git repository access for implementation, maintenance and upgrades.