On this page

Sample plan

A sample plan answers one question: to learn how this person writes, which samples should they rewrite, and how many of each? It is worked out from the passages the writing-style store holds by skryba writing-style samples plan, and samples generate writes what it asks for.

Why rewritten samples

A passage the person wrote teaches an adapter what their prose looks like. A pair — the model's text on a subject against the person's rewrite of it — teaches what they change, which is exactly the job a rewrite does. Pairs taken only from rewrites the person happened to run cluster around whatever they rewrote first. A plan spreads them over every kind and length of writing the person actually produces.

How the plan is worked out

  1. Length bands. The held passages are ranked by word count and cut into --length-bands bands holding an equal share of them. Equal passages are never split across bands, so fewer bands can result.
  2. Strata. Each kind of writing (files, messages, notes, transcripts) in each band is one stratum.
  3. Shares. --pairs is divided among the strata in proportion to how many passages each holds, by the largest-remainder method: every stratum gets its quota rounded down, and the pairs rounding left over go to the largest fractions, earliest stratum first on a tie. The shares add up to exactly --pairs.
  4. What is left. Samples already rewritten and kept (kept) and samples written and still waiting (pending) count against their stratum's share; generate is what remains.

Pairs kept from a rewrite or by hand, with no sample, train the adapter but belong to no stratum; they are reported as kept_outside_plan.

Seeds

A sample is written from one held passage of its stratum, its seed: the model writes on the seed's subject, at about its length, the way a general-purpose assistant writes, without reusing the person's wording. A passage seeds at most one sample, and seeds are drawn in the order --seed fixes. A stratum with fewer unused passages than samples to write reports the rest as unfilled — harvest or add more of that kind of writing.

Keeping a sample

writing-style keep --sample <ID> with the person's rewrite records the pair and links it to the sample; the model's side is read from the sample, so the two cannot drift apart. The next plan counts the sample as kept. unkeep puts it back to pending, and samples remove deletes a sample nobody kept.

Maintained as part of the website-owned Skryba documentation corpus.