On this page
Runbook
Separate failures by where they originate: form validation, executable resolution/process launch, CLI exit, or successful-output decoding.
Run is disabled
Paste the text to score.Paste the text to rewrite.Name the checkpoint your model runs on, or switch back to the routed model.Name at least one file or directory of your own writing.Name the checkpoint to train on.Say where the adapter should be written.Give the export a destination file.Name the style./Name the language.Write the instruction the generator and the judge will follow.Choose the style to remove./Choose the language to remove.
Fill the required field with non-whitespace content. Numeric settings are typed inputs rather than bounded steppers: supply each required value and follow the named validation refusal. Skryba requires finite, nonnegative temperature but imposes no local upper bound; the model route owns any ceiling. Writing style Status and Styles & languages List have nothing to validate and always run.
CLI is not installed
skryba is not installed…
Run cargo install --path . in the CLI repository or place an executable skryba in a searched directory. For a Finder launch, remember its PATH can differ from Terminal; well-known Cargo, local, Stado, Homebrew, and /usr/local paths are searched independently.
If an executable moved after one run, the cached URL is rechecked and a new search occurs automatically.
Rewrite pickers are empty
The pickers hold what skryba style list and skryba language list returned. When that listing fails, the CLI's own sentence is shown under the pickers in place of an instruction. unrecognized subcommand 'style' means the resolved CLI predates the catalog: install a current one. A sentence naming stado database resolve, Skarbiec or connecting to the skryba database pooler means the CLI could not reach its fleet database; skryba database check in Terminal names the step, and the CLI runbook's Fleet database unreachable section says what repairs each. A Finder launch needs stado on a searched path for the same reason.
skryba refused the workflow
The detail is CLI stderr verbatim. Follow the Skryba CLI runbook, not a desktop-specific translation. Common examples:
- no detector key: configure a detector variable;
- missing model credential:
BRAMA_URLrequiresBRAMA_TOKEN_ROLE=ROLE#FIELD, whileSKRYBA_MODEL_SERVICE_URLrequires an owner-only bearer file named bySKRYBA_MODEL_SERVICE_KEY_FILE; a crossed declaration is refused before a bearer is sent; - bad detector or policy path: correct the UI field;
- a catalog refusal such as a duplicate name or removing
preserve: the sentence says which; - the fleet database unreachable: the sentence names the step;
- network/provider failure: inspect the nested CLI cause and observed response; the selected model route and detector clients send one request, without automatic retries.
For Finder launches, put the selected URL and matching credential declaration, plus detector settings, in ~/.config/skryba/env and relaunch. A launch-environment value wins over the file, so remove or correct stale exported values rather than expecting the file to override them. Only the Brama route accepts paired SKRYBA_AGENT_ID and SKRYBA_AGENT_AUTH_SECRET_ROLE; resolver failures retain the failed command and its stderr. See configuration for the direct key file and the owner-only role file alternative.
skryba exited with status <n>.
The process returned nonzero without stderr. Reproduce the exact command from the Command panel in Terminal and supply the displayed workflow input on stdin. This sentence is only the empty-stderr fallback.
JSON decoding failure after status 0
Score expects ai_probability and detectors[]; Rewrite expects text, chunks[], profile.style, profile.language, and all required nested candidate and quality fields; Writing style expects action, store, passages, passage_words, preferences, added, and skipped, with output and written present only after an export or a train run, and adapter and ster_command only after a train run; Styles & languages expects action, kind, and store, with choice, choices, and changed as the command reports them. store is stado://database/skryba/<SCHEMA>. A zero-status CLI that emits another shape is incompatible with this desktop build.
A Train adapter run that fails here is running a CLI old enough to print Ster's own {"path": …, "report": {…}} on stdout ahead of the writing-style report; two documents do not decode. Update the CLI — current builds keep Ster's output on stderr. The adapter is written either way, at the destination the form named.
Confirm which skryba executable resolves first on the app's search path. Install a matching CLI build. The app intentionally does not guess at changed fields.
Long-running workflow
The app drains stdout and stderr concurrently. Detector results are cached, and pacing is applied only when the caller states --detector-interval-ms. The selected model route and detector clients await their provider's response or transport failure; neither retries a refused request. The UI offers no cancel button. A long-running request is not proof that its provider is healthy.
Train adapter is the longest workflow in the app and is not bounded by an HTTP call at all: it maps a checkpoint, downloads it when it is not cached, and runs a gradient. Hours is normal for a corpus of a few hundred passages on cpu. Nothing is shown while it runs, because Ster's progress reaches the CLI's stderr and sits in that pipe until the process exits; a run whose progress you need is a run for the terminal. A local rewrite pays the same cost per candidate, so keep the candidate count low.
Command panel differs from expectation
The panel shows argv only; pasted input is on stdin and never printed into the command. Detector options appear before the subcommand. Rewrite always includes --json and formatted numeric values, plus the --generator local block when your own model is selected. Writing style adds no detector options and, apart from Keep mine, sends nothing on stdin; a train run's optional --revision and --limit trail the fixed flags because they are appended only when set. A catalog change carries the instruction in argv, after --instruction. The executable is displayed by last path component, not absolute resolved path.
Maintained as part of the website-owned Skryba documentation corpus.