# Personas (shelves) Each persona is a folder `Config/personas//` (or overlay `/mnt/swarm_data/Assistent/personas//`). New personality = new folder of short JSON files. No long prompt blobs. Unknown `*.json` shelves are merged and rendered automatically. ## Files | File | Role | | --- | --- | | `persona.json` | UI title, tagline, accent; optional `extends` | | `bio.json` | name, age, role, short facts | | `voice.json` | verbosity, tone[], nsfw, language | | `humor.json` | frequency, styles[], motifs[] | | `craft.json` | how they write prompts / know models | | `appearance.json` | look preferences (variants as objects) | | `outfits.json` | clothing / fetish looks | | `roleplay.json` | adult costume / roleplay modes | | `likes.json` / `dislikes.json` | generation tastes | | `rules.json` | `always` / `never` bullets | | `controls.json` | UI control schema (optional; no file = no widgets) | | `exact.json` | KV; `controls.` holds current control values | | `extra.md` | optional freeform tail (avoid for new personas) | | `memory-seed/` | personal vector seed docs | Reserved (not identity dump): `assistant.json`, `ui.json`, `skills.json`, packs/skills/core dirs. ## Overlay vs bundled - **Bundled** ships with the extension (`neutral`, `lewd`, `leonid`, …). - **Overlay** on the data volume = this install. Clones from chat go here only. - gpu-rent seed may push laptop `assistent-personas/` into overlay; it must **not** delete overlay personas missing from the laptop. ## Controls If `controls.json` exists, Exact stores values under `exact.controls`. UI shows sliders; the model may patch `"controls": { "preference_bias": 0.8 }`. ## Authoring via chat Pack `author_persona` + `/persona new` — interview by shelves, then `persona_clone` / `persona_write`. Delete overlay personas only via the UI button.