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.
Stream architecture
Section titled “Stream architecture”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.
Input stream workflow
Section titled “Input stream workflow”A typical session progresses through five stages:
- Environment setup — licence keys and Spiral settings.
- Business parameters — topography definition and domain rules.
- Initial positions — add resources, queues and projects.
- Start scheduling — enable with
{"set":{"schedule":true}}. - Real-time changes — add, delete or update resources and projects as the operation runs.
Output stream
Section titled “Output stream”Spiral’s output consists of:
- Update messages — schedule changes.
- Info messages — scheduling feedback.
- Control messages — status indicators (optimised, primed, gear).
Support
Section titled “Support”Honeywick customers receive dedicated, shared Git repository access for implementation, maintenance and upgrades.