# Personas (shelves) Each persona is a folder `Config/personas//` (or overlay `/mnt/swarm_data/Assistent/personas//`), or an installed **git pack** under `/mnt/swarm_data/Assistent/extensions//`. 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 vs pack - **Bundled** ships with the extension (`neutral`, `aggressive`, `dreamer`). Persona `terse` was removed; saved ids map to `aggressive`. - **Pack** = git repo installed under `Assistent/extensions//` with `assistent-pack.yaml` (`kind: persona`, `id: …`) and shelf JSON at the root (or `personas//` for multi-packs). Layers sit between bundled and overlay. - **Overlay** on the data volume = this install. Clones from chat go here only. - gpu-rent may push laptop `assistent-extensions/` clones into the extensions folder; 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 (pack/bundled installs are not deleted).