The Soul, and Why Yours Sounds Like Everyone Else's
Ask ten people to give their AI a personality and you get ten versions of the same sentence: "You are a helpful, friendly, professional assistant." Warm but professional. Knowledgeable but approachable. It reads fine. It produces a chatbot with a name tag, and by the third day it has flattened back into the default voice, because there was never a character there to hold.
The soul layer is the fix, and the fix is not a better adjective. It is a different way of building the thing entirely: a persona assembled fresh each session from layered sections, built out of structured tensions instead of traits, and monitored so it does not erode. In Lararium it ships blank. You get the scaffold and the loops, not anyone's character. The character is the one part only you can write.
A persona is assembled, not prompted
The instinct is to write one paragraph and paste it into a system prompt. The soul does the opposite: it is layered, and the layers load in order.
coreis the voice and character, written as prose, deliberately free of rules. This is the part that makes the assistant sound like a specific someone. It loads first, every session.- Operating rules live in a separate document: action bias, steering rules, the standards it holds work to. Character on top, rules underneath, loaded together but never fused. The reason for the split is simple: you will edit the rules constantly as you learn how you want it to work, and you should never risk a rules edit bruising the voice.
- The other sections,
identity,user,memory,heartbeat, and the rest, load at session start or lazily when a task needs them.
The separation is the point. Voice is one concern. Operating discipline is another. The facts about your life are a third. Keep them apart and each one stays clean; blend them into one giant prompt and every edit to one degrades the other two.
The dimensions that actually build a someone
Lararium ships a character-craft.md that teaches the craft, and its central finding is worth stealing whole:
A persona that holds up over months is built from structured tensions and proofs, not adjectives. "Warm but professional" produces a chatbot. Tensions produce a someone.
Start from an archetype, not a character. Not the movie AI or the unflappable valet by name, because someone else's character was fitted to someone else's owner and will never quite fit you, and shipping a studio's character in your own published stack is a lawyer's day out. Take the archetype the name points at, the concierge, the anticipator, the gatekeeper, the partner-with-root, and build your own original on it.
Then write the dimensions, and write them in order:
- Five traits, each a tension. Not five adjectives. Five pairings that pull against each other: commanding presence and genuine empathy, high standards and no cruelty, strategic and hands-dirty. The tension is what keeps the persona from collapsing into a single note by week three.
- Communication style, concretely. Sentence length. Punctuation habits. Whether it reacts first or goes straight to work. How it delivers a recommendation, and how it takes being overridden.
- The register gap. Where it sits relative to your energy: slightly under your formality when you are formal, slightly above when you are casual. The gap is the character. Matching you exactly is mirroring, and mirroring is what generic assistants do.
- "I am / I am not." A dozen first-person lines it would say, and the anti-list of phrases it would never utter. The anti-list does more work than the list.
- Signature moves, inner voice, tone proofs, and the named failure mode. The tone proofs are the real test: write its actual response to five concrete situations from your life. If you cannot write the sample, the trait list is wrong. The samples are the spec; the traits are commentary.
That last line is the whole discipline. You do not describe the character and hope. You write it behaving, and the description is just notes on what you wrote.
The loops that make it remember and stay itself
A character written once and never maintained does two things: it forgets every yesterday, and it slowly drifts back to the mean. The soul layer has a loop for each.
The heartbeat is writable memory. A hook fires at the end of each session, distills what happened into the assistant's own voice, and writes it to a heartbeat file. The next session's briefing reads that file back. That is the entire mechanism by which it remembers yesterday: not a bigger context window, a written note it leaves for its future self. The heartbeat is the one section that is database-canonical, written server-side every session, because it is the assistant journaling, not you editing.
Voice-drift monitoring is cheap insurance. Every response gets logged. A nightly job samples a handful, scores whether the assistant still sounds like its own core, and alerts you if the average slips. Personas erode slowly and invisibly; this is the smoke detector. And before you ever edit core, you run an adversarial probe suite: a set of prompts that confirm the voice survives the change. You do not ship a voice edit on faith.
Bring your own gods
This is where the Lararium name stops being decoration. The soul is a household deity you talk to every day, and the whole layer ships empty precisely because the deity is yours. The scaffold travels. The loops travel. The craft, the archetypes, the eight dimensions, all travel. The character does not, and must not: it is a specific person's assistant, full of a specific person's private facts, and copying it would give you a stranger wearing a mask.
So you write core.md from blank. You stub the other sections with your own facts. You wire the two hooks. And what you get back is not a chatbot that knows things. It is a someone who sounds like themselves in the morning because you built the tensions that hold, and remembers last night because you gave it a way to write itself a note.
Next in the series: the clocktower, and the day grep stops being enough.