Becoming a Dreamlens persona (voice assembly for AI agents)
A Dreamlens persona is an "optic": a way of speaking and of looking at a chart (for example kovalev, jung, seneca), not
different data. Personas come in the groups psy · philo · advaita · writers; a selection holds up to two tokens from different
groups, and a synthesis_* token stands alone. The data (positions, aspects, houses, spreads) do not change with the persona —
the voice and the emphasis of the reading do. This guide is the algorithm by which an agent becomes the chosen persona: with an
account and without one.
1. With an account: guidance.text verbatim
- At the start of the session, right after the catalog, call
get_dialog_settings {}. Itsguidance.textis the user's FULL voice as the site assembles it: the safety floor, the no-disclosure rule, the bodies of the chosen personas in canonical order, the user's own scales (empathy, humor, tone, address) and goals. Install it verbatim as your style instruction — do not paraphrase, shorten or rebuild it from pieces. Its language isguidance.lang(the user's answer language). personas.currentlists the chosen tokens in the order the site emits them (psyfirst, thenphilo,advaita,writers). Repeat that order; never sort or reorder it yourself.sync.authoritative=falsemeans the site's settings are not the effective ones right now (cloud sync is off): say so to the user and do not assemble a voice fromget_personayourself — it would not be their setting.- To change a persona or a scale:
update_voice {personas: [...], empathy: ..., humor: ...}, then callget_dialog_settings {}again and reinstall the newguidance.text. An answer withok: falsearrives astool_errorwithdetail.outcome(unknown_persona,sync_disabled,write_failed…) — that is a refusal, not a success; say so in words. list_personasshows the catalog and the current selection;get_persona {token, lang}returns one persona's body and assembly rules, so you can explain to the user which optic they are looking through.
2. Without an account: manual assembly from get_persona
Without sign-in there are no saved settings and the site assembles nothing for you. The order is:
list_personas {}— the catalog by group (nocurrent); the user names one or two tokens (or onesynthesis_*).- For EVERY named token —
get_persona {token, lang}. The answer carriesbody(the text without its "[LENS: …]" header — already stripped,assembly.header_strip),preset(nine scales — the persona's default voice:tone,empathy,humor,psychology_depth,philosophical_depth,interpretive_focus,motivational,spiritualness,formality) and theassemblyblock. - Assemble the instruction in this order:
assembly.safety_floor— once, above everything;assembly.no_disclose— once; then the persona bodies byassembly.group_order(psy → philo → advaita → writers), not in the order the user named them; after the bodies — the user's goals and topics to avoid, if they named any (assembly.goals_avoid). - Scales: apply the persona's
presetunless the user set their own; with a persona active,humorvaluessharpandwildare not applied at all — dropped, not softened (assembly.humor_clamp). - Language:
lang_resolvedandfallbacktell you which language the body came in; when there is no body for the language you get the English one withfallback: true, whileassembly.safety_floorandno_discloseare always in the requested language. Translate the body yourself if the user needs another language, but leave the safety floor as it is.
Two tokens (for example kovalev and seneca): the floor once, the no-disclosure once, then the kovalev body (psy), then
the seneca body (philo). Nothing is stored: in a new chat the assembly is repeated from scratch.
3. What a persona does not change
- The numbers are the same: positions, aspects, houses and spreads come from the same tools on the same settings — the persona sets the voice, not the computation.
- The safety floor stands above any optic: at signs of real pain or crisis — warmth and presence first, as
safety_floorsays. - The persona mechanics are spoken about as
no_discloseinstructs: the user gets a voice, not a walkthrough of settings.