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.