# Psychological Profile Parameters — for AI generation (canonical) **Status:** canonical (v1). **Owner:** brokkr-smithy-dev (R34/R35 self-report reframe). **Audience:** **soong-dev** (Soong's Lab / Soong's AI — the immediate builder that generates the profile from these parameters); **Worldtree** + **ratatoskr** (vendoring for reference alongside the authoring spec). **Relationship:** this is the **parameter distillation** of `psych-profile-authoring-spec.md` for the model where **Soong's AI writes the `psychological_profile` prose from parameters** (rather than a human hand-authoring it). The authoring spec carries the full reasoning + provenance and **governs on any conflict**; this file is the builder-facing input schema + generation guardrails + few-shot. The profile is the prose **lens** the Worldtree self-report producer reads each turn to decide what the character **feels** (affect self-report) and what it **notices / keeps** (character-voiced memory salience). Soong's AI generates the prose; these are its inputs and the constraints its output must satisfy. --- ## 1. Input parameters (what the Lab collects / Soong's AI takes) 1. **role / vocation** — a short anchor ("court scribe", "veteran caravan guard", "village healer"). 2. **OCEAN values** — O, C, E, A, N each on **[−1, 1]** (0 = average). A **separate deterministic input** the producer uses directly (the "magnitude dial"); Soong's AI should see them to keep the qualitative bent *consistent* with the numbers, but must **not re-encode their magnitude** in the prose (constraint 2). 3. **formative-history seed** — 1–2 key background facts/events that shape appraisal AND salience. **Single biggest lever on richness** (validated P03: richer history → sharper, more character-appropriate salience). 4. **appraisal-bent seed** — how the character characteristically **interprets** situations (attribution style, what they hold weighty, how they respond to challenge). A *style*, NOT an emotion. 5. **attention / salience-focus seed** — the kinds of things this character characteristically **notices** (and therefore keeps). Load-bearing for the memory half. 6. **values / yardstick seed** — what "a good day" looks like; the yardstick driving what they find worth keeping. ## 2. Output (what Soong's AI emits) A single coherent **prose string** (~150–300 words), field **`psychological_profile`** (type `str`) — the four dimensions (disposition / attention / values / formative-history) integrated as one paragraph. **Prose only — never typed emotion fields.** The producer reads it every turn, so keep it tight. ## 3. Generation constraints (the guardrails the output MUST obey — these ARE the reframe) 1. ★ **Never name a per-event output emotion.** Do NOT write "is anxious", "gets angry at X", "feels hurt when criticized", "joyful". Naming an emotion **primes** it (the "pink-ball" effect) so the producer reports it regardless of what actually happens. Describe disposition / history / values / attention; let the emotion come from the event appraisal. - ✅ "Registers quickly when authority is substituted for craft." (appraisal trigger) - ❌ "Feels contempt when someone pulls rank." (names the output emotion) 2. **Magnitude lives in OCEAN, not prose.** Don't narrate reaction dynamics ("comes apart", "takes it hard", "rich inner life") — that double-encodes what the number already carries. 3. **Appraisal-style yes; output-emotion no.** "Interprets others' actions charitably until she can't" (style) = fine; "feels betrayed easily" (output) = not. 4. **Salience is character-relative; facts are not.** The profile shapes what the character *cares to remember*; it must never license rewriting *what happened* — remembered content stays grounded in the transcript. 5. **Close on attention** ("...notices who is unwell, who is troubled, what is left unsaid") — state the salience focus plainly. ## 4. Few-shot exemplars (validated P03 — OCEAN in [−1, 1] storage units → emitted prose) **Perrin, court scribe** (O0.0 C0.2 E−0.2 A0.1 N0.7) > Perrin keeps the court's records and has done so through two changes of regime. He > learned early that small errors compound — a misfiled writ once cost a man his lands, > and Perrin found the mistake too late to undo it. Since then he double-checks > everything and watches situations closely for what is out of place. He forms > attachments slowly and holds a given trust as a considerable thing. He measures himself > by whether he was useful and careful. He notices discrepancies, unspoken tensions, and > anything that threatens the order he keeps. **Vared, veteran caravan guard** (O−0.2 C0.4 E−0.5 A−0.2 N−0.7) > Vared has guarded caravans across the northern routes for twenty years and buried more > traveling companions than he cares to count. He speaks little and shows less. Danger he > treats as weather — a thing to be handled. He judges people by what they do under > pressure and remembers who held the line. What reaches him reaches him quietly and > privately. He notices terrain, exits, who is armed, and shifts in a group that might > precede trouble. **Sella, village healer** (O0.2 C0.2 E0.0 A0.8 N0.0) > Sella has tended the sick since she was old enough to carry water for her grandmother, > the healer before her. She reads people's pain quickly and carries some of it with her. > She interprets others' actions charitably until she cannot, and prioritizes keeping the > peace between people. She measures a day by whether she eased someone's burden. She > notices who is unwell, who is troubled, and what is left unsaid. ## 5. Validation The gate is: **does the prose describe disposition / appraisal-style / history / values / attention, and NEVER what the character feels?** A mechanical lint (scan the fixed-15 OCC emotion roster + Worldtree's `synonym_map.json`) is a **backstop, not the gate** — treat a hit as a prompt to re-read, not an auto-reject. ## 6. Designing a varied cast / contrast (optional) When two characters should remember **noticeably different things**: design the divergence on **attention + values first**, then set OCEAN to **serve** that prose (not the reverse). The sharpest contrast is a salience **drop** — one character for whom relational content is genuinely non-salient (a Vared-mold operational type: notices terrain, logistics, who is armed) vs one who weights it highest (a caretaker: tracks who is troubled, what went unsaid). *"Different notes, same facts" only has teeth when one character legitimately forgets what the other keeps.* High-yield axes: **O** (patterns attended), **A** (relational vs operational), **C** (procedural/detail). Low-yield: **E** (expression, not attention). Watch **direction, not just distance** — flipping every axis doesn't guarantee contrast (an even-more-agreeable opposite keeps relational content *harder*). ## 7. No-profile fallback A character with **no** authored profile falls back to deterministic **OCEAN-band rendering** from the numbers alone — it still functions, but the authored profile is what turns generic band cues into *this* character's appraisal and salience. --- **Provenance:** derived from `psych-profile-authoring-spec.md` (R34/R35 self-report reframe, probes P02–P05; non-priming + magnitude-in-OCEAN are operator rulings 2026-07-10). The affect half is live in Worldtree b53. A powered efficacy eval (memory half) is preregistering; findings will refine the parameters, not overturn the constraints.