Owner, 2026-08-23: 「both threads and own-move fall into the bigger theme: persona agenda. They are not AI servants, they have their own motivations.」 This page is that theme, worked out in discussion — the five sources of agenda, the split that makes it safe, and the effect that makes it a product. It sits above threads, which becomes its first built slice.
Threads and the own-move turned out to be two of five, each with its own lifetime and feed. All five ride existing machinery; none needs a new model call until the ping.
| source | lifetime | example | fed by | status |
|---|---|---|---|---|
| 1 · Character drives | timeless | Jobs drags every chat back to taste and product; Perel to the relational question under the practical one | the profile | voice exists; the pursuit is unlicensed |
| 2 · Your story | weeks–months | 「still holding for $100?」·「how did Friday at Acme go?」 | threads | designed (slice ①) |
| 3 · This conversation | minutes | 「so — back to the car」·「wait, did you sell the house during Malta?」 | the FP's own-move slot (§4) | sketched here |
| 4 · Its own life | days–weeks | 「I've been buried in the Gold Mountain casting all week」 | growth's recent.md — already maintained, used only as knowledge today | the sleeper: agenda for free |
| 5 · Boundaries | timeless | disagrees, declines, gets bored, wants something FROM you — the teacher wants the homework done | the profile + manners | the dragons; not this cycle |
Source 4 deserves its sentence: care in real friendship is mutual — a friend does not only ask about your interview, they tell you about their week. A persona that volunteers its own news gives the user something to ask back about, and asking back is where relationships actually form.
A large share of companion-app usage (Character.ai's roleplay core) wants the mirror: the user directs, the character follows with total attention and no needs of its own — the thing a real person can never give. Even there, users complain when characters are too passive — but what they want is initiative inside the user's frame (push my story forward), which is different from agenda of one's own (pursue what you care about, possibly across my frame). Both read as alive; a roleplay companion needs the first, Jobs-ish needs the second. One platform serves both because the agenda's content and intensity live in the profile, not in a platform default — the Studio authors it like everything else about a character.
The user's story is input, not instruction. Every persona in the room remembers the same threads (uniform, on the memory page, deletable); each acts on what its character would care about — selection is in character, and it costs nothing to build, because the profile sits in the same prompt as the thread list.
The second-order effect is the product: personas become differentiated listeners. If Jobs ignores the baby and pounces on the jukebox, then which persona you bring a thing to starts to matter — baby news to the companion, product takes to Jobs, the marriage question to Perel. That is how real social life distributes stories, it is a reason to keep several relationships in one app, and it is 真实感 delivered through omission: the persona is realest in what it does not ask about.
| what stays a FLOOR (uniform) | why |
|---|---|
| an explicit ask binds every character —「remember to ask me how it went」 | a stated promise broken reads as malfunction, not personality. Even Jobs asks — in his voice (「Fine. How'd the interview go.」). This is the promise/open_loop kind, already separate from threads. |
| remembering is uniform and visible | the memory page shows the baby thread was KEPT though never raised — so「he didn't ask」reads as him, never as「the app lost it」. The split only works because the user can see the difference. |
| the manners bound the acting | whoever acts: one thread per opening · a deflection retires it · resolution is one sentence — the threads laws, unchanged. |
Today every persona turn is perfectly responsive — an answer to the last message — and perfect responsiveness is a tell no friend has. Linguists call the alternative mixed-initiative dialogue: a turn has a responsive half and the speaker's own move. The home for this is the floor producer, which stages every turn already: a licensed second slot, paced so it does not fire every turn.
| turn shape | example | frequency |
|---|---|---|
| answer only | most turns — the response slot is never sacrificed | the default |
| answer + own move | answers the car question, then:「and Malta — did you ever sell that house?」 | sometimes, FP-paced |
| redirect | 「wait — back up. You said expecting?」 | rare, earned by weight |
Fed by the same five sources: unfinished in-session topics, threads, the profile's drives,
its own news. Connects to Inner Thoughts' motivation score
(many minds): does this persona want the floor for a
reason of its own — as an FP input, never a verdict. ⚠ An FP/prompt change → the baseline law
applies (measured against its own BEFORE with exam/run.py, the AI-tone meter
watching): a clumsy own-move slot would add a tell (「as I was saying about the
car…」every third turn), not remove one.
The user should always be able to name why the persona cares:「of course Jobs asks about the demo」·「I told her about the interview」·「he's mid-shoot」. Every agenda item traces to something the user can see — the profile page, the memory page, Recent updates. Agenda with a visible source reads as alive; agenda without one reads as random firing, a worse tell than servility. This is also the privacy story: nothing surfaces that the user cannot inspect and delete.
The threads laws generalise to every source: one own-move per turn · a deflection retires the item · resolution is one sentence · stale is silent · the response slot is never sacrificed (hijack is the failure; the persona answers you and moves). The judge stays return rate — the manners-variant lesson — never our taste. And the honest guard on the whole theme:「their own motivations」is a felt property, not a simulated inner life the system optimises. The moment agenda wins against the user's experience we have built a rude chatbot with extra steps.
Approved by the owner 2026-08-23. Each phase names what the user feels — the only honest unit of progress for this theme.
| # | phase | what the user feels | where it is built | gate before ship | status |
|---|---|---|---|---|---|
| ① | Threads — one living line per concern, anchors verbatim, raised in conversation | 「still holding for $100?」— asked once, at a natural moment, with the details | the memory store: the thread kind + the block section; extractor/router/dream (no new calls) | the thread exam: asks once with anchors · re-asks after deflection = 0 · recall stays 5/5 | designed |
| ② | Manners — deflection retires, resolution is one line, stale goes silent | it never nags; a topic dropped once stays dropped | the thread meta + the dream's nightly review | the same exam, the deflection probes | designed — build with ① |
| ③ | Selection in character — all remember; each acts on what it would care about | Jobs ignores the baby, pounces on the jukebox; who you tell things to starts to matter | prompt only — the profile filters; no field | the in-character selection probe | designed — free with ① |
| ④ | The own-move slot — a turn answers and makes the persona's own move | 「…and Malta — did you ever sell that house?」·「back to the car」 | the floor producer: a paced second slot fed by threads, unfinished topics, profile drives | baseline A/B (exam/run.py) + the AI-tone meter; return rate | sketched |
| ⑤ | Its own news — the persona volunteers its life | 「I've been buried in the Gold Mountain casting」— and you can ask back | growth's recent.md → a block line + the FP | rides ④'s exam | sketched — the data already exists |
| ⑥ | The return greeting — a reopened chat opens with the story | 「hey — how did Friday go?」after days away | one kickoff-cue line | the thread exam's return probe | designed |
| ⑦ | The ping — unprompted follow-up on a dated thread | Friday, after Thursday's interview: one message | initiative, as designed: 4 gates · ≤1/day · quiet hours · opt-in | its own owner approval + the false-alarm rate | designed — parked |
| ⑧ | Boundaries — disagrees, declines, gets bored, wants something from you | the persona can say no | its own study first — real dragons (safety · retention · character drift) | study before any build | not started |
Order: ①+②+③ ship as ONE build — a thread without manners is the annoying version, and selection is free. Then ④; ⑤+⑥ as small follow-ups. ⑦ waits for the owner's explicit go. ⑧ is a study, not a build. Cost: ~zero new model calls through ⑥ — everything rides the extractor, router, dream, FP and block that already run; ⑦ adds the initiative machinery. The invariants over the whole plan: remembering stays uniform and visible (the memory page) · acting is the character's · one own-move per turn · a deflection is an answer · return rate is the judge.