> ## Documentation Index
> Fetch the complete documentation index at: https://docs.withwhile.com/llms.txt
> Use this file to discover all available pages before exploring further.

> ## Agent Instructions
> Install with `uv add whileai`; import as `import whileai as wai`.
> Run the offline path first (`simulator=False`, `wai.seeded_agent`, a callable judge); no key is needed for it.
> Report every pass rate with its interval and n, as `scored.pass_at` prints it.

# Community recipes

> Recipes contributed by people trying the SDK on their own problems, published so the next person starts from someone's real run instead of from zero.

<Note>The scripts are in the repository, not in the installed package. Clone it,
then `cd recipes/community` before running the commands below. [Browse this recipe on GitHub](https://github.com/whilehq/whileai-sdk/tree/main/recipes/community).</Note>

Recipes contributed by people trying the SDK on their own problems, published so the
next person starts from someone's real run instead of from zero. Each directory carries
the script that was actually run, the numbers it produced with intervals, and an honest
account of what did not work.

These are not maintained by While. Read the README in each one for the version it was
run against and what the author would do differently.

<CardGroup cols={2}>
  <Card title="can-the-judge-be-trusted" href="/recipes/community/can-the-judge-be-trusted">
    Grade the same rollouts two ways — with rubric\_judge() and with a deterministic verifier — and measure where the LLM judge disagrees with the rule.
  </Card>

  <Card title="force-the-branch" href="/recipes/community/force-the-branch">
    Seat: a post-training engineer at a startup that ships one production agent, trying to find out whether a small open model can take over the boring half of it.
  </Card>

  <Card title="hosted-grpo-vs-sft" href="/recipes/community/hosted-grpo-vs-sft">
    Seat: an open-model fine-tuner who lives in TRL and Hugging Face, here for clean exports, a LoRA run, a hosted result and a cost line.
  </Card>

  <Card title="how-much-contamination-survives" href="/recipes/community/how-much-contamination-survives">
    Measure what fraction of real held-out contamination wai.decontaminate() actually removes, using human-labelled paraphrase pairs as ground truth instead of a planted copy.
  </Card>

  <Card title="same-entrypoint-before-after" href="/recipes/community/same-entrypoint-before-after">
    Seat: a post-training engineer at a startup that ships one production agent, trying to find out whether a small open model can take over the boring half of it.
  </Card>

  <Card title="the-step-the-course-skips" href="/recipes/community/the-step-the-course-skips">
    The eight-lesson course for people who have never trained a model stops one line short of the training: # 2.
  </Card>

  <Card title="what-trl-does-with-the-loss-mask" href="/recipes/community/what-trl-does-with-the-loss-mask">
    wai.export(..., format="trl") writes a loss\_mask on every row and reports mask\_mode: "assistant".
  </Card>

  <Card title="who-protects-the-holdout" href="/recipes/community/who-protects-the-holdout">
    decontaminate() applies four rules in order.
  </Card>
</CardGroup>
