Skip to content

v2.4.2: cleaner messages + mistyped-upload recovery

Choose a tag to compare

@bbolinger bbolinger released this 13 Jul 22:12
f14e29c

Two reliability fixes for driving the printer with a small local model.

Highlights

  • Clean operator messages. The local gemma4-over-Ollama models sometimes leak reasoning-channel tokens into the reply text. A new sanitizer strips them on every turn, so the operator sees clean messages on any model or Ollama endpoint.
  • Mistyped upload names recover automatically. When the model garbles an uploaded file's name, the toolkit recovers the real file by its stable id instead of dead-stalling, so a multi-part kit ingests as normal.

Chat-template sanitizer

The models this toolkit runs are imported with a passthrough template and intermittently leak their reasoning-channel delimiters (<channel|>, <|tool_call|> ...) into the visible message, most often as a thought <channel|> prefix. The sanitizer removes the known control tokens from the outbound reply on every turn. It is model- and endpoint-agnostic, never touches the safety gate, a structured tool call, or a file path, and a clean reply passes through unchanged.

Mistyped-upload-path recovery

The model occasionally retypes an uploaded file's name and mangles the human-readable suffix (a + becomes _), so the path points at nothing. The workflow then mis-read the missing archive as a single model and failed with a confusing "unsupported model file". The upload's stable doc_<hash> prefix now recovers the real file, so the kit ingests as normal. A zip that is genuinely missing or unreadable surfaces a clear message instead of falling into the single-model path, and a zip holding a single object is still handled as a kit-of-one.

Both validated on real hardware: the channel leak stripped in a live drill, and a 2-part kit that previously dead-stalled now ingests, slices, and posts its readiness card. The model-free print-start safety boundary is unchanged.