Skip to main content
Each market (each tenant) has a culture pack. It is the single source of what “good” means there; the judge, the simulator and the prompt update all read it. The files in lab/rl/culture/*.yaml are samples: each is seeded into the workspace’s registry the first time it is seen, and from then on the registry copy is what every reader uses and what the Environment tab edits. An edit survives a rollout (it used to be written back into the file on the pod, which the next deploy put back).

What is in it

Editing

The pack is edited in the registry, from the Environment tab except where noted (the words reports use and the calendar go through the API for now):
  • Rubric and guardrails: weights, cues and guidance in the rubric editor, or Draft from your playbooks: paste scripts, policies and screenshots and a draft rubric comes back for you to review before saving. After saving, press Rescore all calls so existing scores follow the new rubric; scenarios regroup on the next Regroup.
  • The world itself: name, language, dialect, currency and the market summary.
  • v1 prompt and examples: what the first version of a new world starts from, and what a reset comes back to. It is policy material, so it sits under Policies (What v1 starts from), not under Environment. Versions already made keep their own prompt; to write a version by hand, use New version from this one under a version in Policies.
  • Customers: the simulated personas, each with a mood, a starting trust, what they say first, hidden needs and what a good call gets them to. Used where no real call exists.
Download as YAML gives the pack back in the shape the samples ship in, so a world can live in a repo and be reviewed, and Back to the shipped sample restores the file’s copy (calls, versions and picks stay). The same over the API: PUT /api/rl/packs/{id} with any of name, summary, language, dialect, currency, calendar, baseline_system, personas, seed_examples, words; PUT .../rubric; GET .../export; POST .../reseed.
In a YAML sample, a description: whose value contains a colon followed by a space must be quoted, or the pack fails to load and every reply scores zero.

Adding a market

Either create a world in the dashboard, or copy an existing sample under lab/rl/culture/, change the rubric and personas, and add a tenant in lab/rl/tenants.yaml pointing at it; the new file is seeded on the next deploy. The webhook accepts that tenant’s app id from then on. See Call logs.