On this page
Rewrite workflow
Rewrite asks the installed CLI to generate, judge, detector-score, and select candidates. The desktop app supplies controls and renders the returned RewriteResult; it does not run any pipeline stage itself.
Input and controls
| Control | UI range/default | CLI argument |
|---|---|---|
| text editor | non-empty | stdin, final - |
| detectors | empty, free text | optional global --detectors |
| candidates per chunk | 1–32, default 8 | --candidates |
| max words per chunk | 50–2,000 by 50, default 400 | --max-words-per-chunk |
| temperature | 0.1–1.5 by 0.1, default 0.9 | --temperature formatted to two decimals |
| minimum quality | 0.5–1.0 by 0.05, default 0.90 | global --minimum-quality, formatted to two decimals |
| trained policy path | empty | optional --policy |
Empty text prevents Run with Paste the text to rewrite.
Exact invocation shape
skryba [--detectors NAMES] --minimum-quality 0.90 rewrite --json --candidates 8 --max-words-per-chunk 400 --temperature 0.90 [--policy PATH] -
The app always requests --json because the view needs the complete candidate evidence.
Successful result
The top panel shows text and provides Copy. Then every chunks[] item shows:
- 1-based chunk number;
- selected strategy and AI probability;
- whether source fallback was used;
- selected quality score and total candidate count;
- selected per-detector rows and cache labels;
- quality judge issues when non-empty.
The view does not render every losing candidate, but the decoded CLI result contains them. Selection is never repeated in Swift.
Source fallback
When used_source_fallback is true, the detail reads:
No candidate passed the quality judge; the source text was kept.
This is a display of the CLI's decision, not a desktop fallback.
Maintained as part of the website-owned Skryba documentation corpus.