Model Configuration Errors
Koios checks a model's configuration every time it loads one, and refuses to run a model whose bindings would assemble the wrong input vector. Rather than inferring on a tensor that is silently wrong — a dropped signal, two inputs collapsed into one column, a window that does not match the one the model was trained on — the model is stopped before its first scan and the reason is recorded on the model.
This is a deliberate fail-closed design: a model producing quietly wrong predictions is worse than a model that does not run.
Fail-Closed, Not Failed
A configuration failure is not an inference failure, and it does not behave like one.
Where the Reason Appears
When the Check Runs
The check runs on every path that loads or reloads a model, which is also every path that could fix one.
Duplicate Input Binding Order
The most common reason, and the only one that applies to every model rather than just structured input models.
The detail reads Input binding_order values must be unique, followed by the orders it found — for example [1, 1, 3].
Input columns are keyed by binding order when the input vector is assembled, so two inputs sharing an order collapse into one column: one signal is written twice and the other never reaches the model. Duplicates were previously tolerated and silently merged, which is why this most often shows up as a model that ran for months and stopped immediately after an update.
Binding order is assigned by Koios from the model file's input count, not chosen by hand, and Koios now rejects a save or an import that would give two inputs of the same model the same order. A duplicate you find today is stored configuration that predates that rule.
To renumber:
- Export the model's bindings from the model list. See Importing & Exporting Models.
- In the exported CSV, give each input row a distinct
binding_orderin a dense1..Nrun, leaving theidcolumn untouched. - Import the corrected file.
Binding Count Doesn't Match the File
For a model with no structured input space, the detail reads Model expects N input feature(s) but M input binding(s) are configured.
Koios reconciles the binding set against the file's input count when you activate a file, so this appears when the binding set has drifted from the width the graph actually accepts — usually after a file with a different architecture was put in place. Re-activate the model's intended file on the Files tab; activation adds or removes input bindings to match, preserving the tag assignments on the bindings it keeps. See Managing Model Files.
Structured Input Space Mismatches
A model whose active file declares a structured input space is checked much more strictly, because each input carries its own window length and sample rate and those windows have to tile the flat vector exactly.
Clearing the Error
- Read the Error Detail on the Overview strip or the Parameters tab. It names the input, order, or number at fault.
- Make the correcting change — a binding, the Configuration tab, or activating a file.
- Watch the model's status. Saving is itself the reload, so the error clears within a second or two and the model returns to Stopped with no error.
- If the model is enabled and standalone, it is queued again immediately. A model in a scan group rejoins on the group's next scan.
- The first cycle after that decides Running or Failed on its own merits — a model that clears its configuration error can still fail on a disabled tag or a short history window. See A Model or Binding Isn't Running.
If the detail is unchanged after your edit, confirm the change was actually saved: a binding drawer discards its edits on Cancel or on closing without saving.
What's Next
- A Model or Binding Isn't Running: every other model and binding error code, worked down from the model to the devices
- Reading Status, Quality & Errors: the status legend behind Stopped, Starting, and Failed, and where each error field surfaces
- Structured Input Spaces: per-input windows, sample rates, and the restrictions that produce most of these errors
- Assigning Bindings: the binding settings behind each input and output
- Managing Model Files: uploading, activating, and how activation reconciles bindings
- Importing & Exporting Models: the binding CSV columns, including
binding_order
