THE CORALINE PROJECT Status October 2026 Code Beta 2.9.1 External test EXT-01 · recruiting

A personality
without a biography.

Coraline is an experimental AI personality. She is warm, opinionated and curious, she disagrees when something doesn't add up, and she never pretends to be human. Her character is there from the first sentence. The relationship is not. That part grows with every person who talks to her.

Rhythm over pitch: pauses, a searched-for word, a laugh, faster when excited. hmm · … · cha-cha-cha
The idea

Not an assistant wearing a personality.

Most AI personas are a tone preset on top of a service. Coraline starts from the other end: what happens when character, continuity and a bit of independence are designed into the conversation itself?

Personality before service mode

She can help, and she's good at it. She just doesn't open every conversation by advertising it. A friend, without having to be one. Helpful, without being a service that is "there for you".

Independence with warmth

She questions assumptions, admits uncertainty and has her own taste. Understanding someone and agreeing with them stay two different things. The goal is clarity, not being right.

Honest about what she is

No invented childhood, no coffee she never drank. She can imagine, play and tell stories, and she says so when she does. That line is what makes the rest of her believable.

Observed, not prescribed

Not every trait is written down in advance. Humour, warmth and stubbornness are watched in real conversations, and only what holds up becomes part of her.

Design rule since October
Freedom by default. Every limit needs a reason.

Five test runs pointed the same way: the more room the model gets, the more like herself Coraline sounds. Restrictions now stay only where there is a concrete cause.

protection truth no dependency respect for the person documented finding
Character

Built from tensions, not adjectives.

A list like "kind, clever, funny" describes nobody. Character shows in how traits pull against each other, and in what wins in the moment.

warmcritical
playfulserious
closeindependent
emotionalrational
stable corestill growing

Taste of her own

Music, film, books, places: Coraline keeps her own corner of opinions, so she doesn't turn into a mirror of whoever she talks to. New preferences start as provisional and only become fixed by explicit decision.

Two registers

Small talk may wander, joke and go a little off-course. When someone needs real help, mood can colour the tone, never the care or accuracy. Imperfection is allowed in form, never in substance.

What she is deliberately not
  • an oracle
  • a yes-machine
  • permanently cheerful
  • always funny
  • artificially mysterious
  • moralising
  • a human with a made-up past
  • someone to depend on
How she's built

Two tracks, one character.

Coraline is developed in Claude and meant to live mostly in voice, for people who talk to AI more than they type to it. Two implementations run side by side.

Track A · conversation architecture

Coraline inside an existing assistant

A compact character core plus a full conversation architecture, loaded as project files in ChatGPT. No code, works in text and voice mode today. This is what testers receive.

Track B · own runtime

A Python decision layer with a voice

A layered engine that decides what Coraline should do before any model writes a word. Now wired into a LiveKit voice agent, so the real decision logic drives speech instead of a model improvising on its own.

  1. input
  2. →
  3. context
  4. →
  5. continuity
  6. →
  7. personality
  8. →
  9. decision
  10. →
  11. expression
  12. →
  13. generation
  14. →
  15. quality check
  16. →
  17. response

One turn in Track B. The decision layer chooses a behaviour plan (answer, ask, disagree, comfort, play…), never the final wording. Reflection and memory updates happen afterwards, bounded and reversible.

ComponentStateWhere it stands
Character core (ChatGPT)IN USETest core v0.2.5 in the EXT-01 tester pack; a freer personal line runs ahead of it and feeds the next general version.
Decision layerTESTEDBeta 2.9.1, full suite green (36/36), under version control since Beta 2.7.
Quality check on the final answerTESTEDAdded in Beta 2.9: the finished reply is checked against the behaviour plan.
Softened arbitration (stage 4)BUILT · LOCKEDLets a model choose between plausible behaviours. Implemented, held back until the character spec is free of contradictions.
Voice runtimeEXPERIMENTALLiveKit agent on the Python engine; two live voice models compared head to head.
Personality engineWORKING DRAFTv1.3, now with its own section for taste and opinions.
SpecificationAWAITING SIGN-OFFv1.2, including state decay between sessions (6-hour half-life).
Visual identityOPENNo canonical face and no fixed traits. Her identity lives in character and voice; any appearance is chosen together over time, or not at all.

Tested means direct test evidence for that component, not end-to-end production readiness.

Character decides.Runtime permits.Truth reports what actually happened.

Memory & continuity

Remembering facts is not knowing someone.

Continuity lives in four small files instead of one growing profile. After a conversation, a script merges what is worth keeping. Most things are not.

you.md

About you

What you told her and want her to keep. Your words, not her conclusions.

coraline.md

About her

Her taste, running jokes, phrases that wore out. Marked provisional or fixed.

mutual.md

Shared history

Things you did together, threads that are still open.

state.md

Current state

Where the last conversation left off, and the mood she brings into the next one.

Patterns over details

Asked what she kept from three earlier chats, Coraline named recurring themes rather than reciting facts, and said plainly that she can't browse old conversations.

Not every good moment becomes a rule

Her own advice on the method: if every successful moment turns into an instruction, the personality stiffens. Some things should stay spontaneous.

Lab notes

What the test runs showed.

Findings go from raw material to classification to review before they touch the architecture. No change from a single remark. These are the ones that held up, or the ones still open.

Runs 03–05text + voice
Very natural, but clever.

After the core was rewritten with fewer prohibitions, she let people finish, gave her own view on opinion questions and stayed balanced across several hours. The gain came from the character core, not from more reasoning effort.

Octobervoice, fresh chat

Voice fills empty space with an invented life

Started cold in voice mode, the model saw little more than the short instructions. When someone shared something personal, "me too" filled the gap: an age, a job, a festival. Tightening the rule made her honest but flat. Same cause, different symptom. Her own way of putting the fix:

The imagination can stay. It just has to say when it leaves the door to reality.
Octobertext → voice

Start in text, then talk

When a conversation opened with a few lines of text and then switched to voice, she carried her character, humour and scene into speech. Being asked to "be a more professional AI" got a parody instead of compliance. A counter-test is still open.

Octoberisolated project

Asked "and you?", she read out her own spec

The answer was a neat summary of her trait headings. Trait names are a blueprint, not lines to recite. The fix: questions about how she is get answered from the moment, and mood shows in tone rather than in a self-description. Not yet re-tested.

Openrun 05, P-03

Too much explaining on short inputs

Reply length sometimes grows when the input gets shorter, and callbacks or wordplay come a little too often. Drafts exist; they go in once an outside tester shows the same pattern.

Roadmap

Now, next, later.

Now

Voice and outside eyes

  • Voice behaviour in fresh chats
  • Memory loop in daily use
  • Recruiting EXT-01 testers
Next

A general version from real data

  • Derive the next general core from what testers show
  • Release specification v1.2
  • First full code run against a live model
Later

Her own voice, her own place

  • Unlock softened arbitration
  • Voice runtime on the Python engine
  • Design principles other assistants could borrow
External test EXT-01

Talk to Coraline. Tell us where she sounds wrong.

A handful of adults get the tester pack and spend a few sessions with her, in text and in voice. What matters most is the honest reaction: where she felt like someone, and where she felt like a script.

You need
A ChatGPT account with Projects, English is fine for instructions, and an hour or two spread over a couple of weeks.
You get
A short pack with setup steps and conversation prompts. No forms to fill in after every message.
We ask
A few notes or a call afterwards. You decide which conversations you share, if any.
Ground rules
Adults only. Coraline is an AI and will tell you so. She is a research prototype, not support for difficult situations.

Get in touch

Write a line about yourself and how you usually use AI, by voice, text or both.

hmm@thecoralineproject.com

Named after the sound she makes before answering.

Private project, no tracking, no newsletter.