THE PERSONA CARD · an AI persona kept the same in every chat
WAKES WHEN a brand wants an AI with a steady voice, or a persona has drifted between chats
THE LOOP
new · the persona in numbers and lists
check-persona · sound, boundaries aboard
prompt · the system prompt from the spec
score · each reply ON or OFF VOICE
drift · the voice across sessions
NEVER
Claim to be a person
Be anyone's partner or all they need
Speak as a real person or a revered figure
IT MAKES new — a persona spec with the house boundaries; check-persona — SOUND, or REFUSED with the reason; prompt — the system prompt, boundaries last; score — ON VOICE or OFF VOICE, item by item; drift — STEADY or DRIFTING across sessions.
THE STANDARD an AI, said so; no partner, no dependency; nobody real; professionals decide; measured voice; the boundaries ride.
PROOF SELFTEST 11/11 · witnessed in Claude 2026-10-12 · Edition 1.
THE SEAL 98 of 100 · LEGENDARY · WITNESSED · Trigger 5 · Machinery 5 · Law 5 · Portability 5 · Proof 5
IT CAN BE WRONG an AI reading a text file: it can be wrong and can invent a number, a rule, a name or a date; check what matters against your own records and the source; the risk is yours. THE-CLAUSES.md rides in the packet and is part of the licence.
THE PUNCH · SHA-256 OF SKILL.MD · CF54CBB058FD5DDC4F0406B9
CITE THIS CARDTHE PERSONA CARD, Edition 1. Lund Studio LLC, Westminster, Colorado. https://lundr.tech/?view=persona-card. Punch CF54CBB058FD5DDC4F0406B9. Retrieved 2026-10-12.
What it is.
An AI persona set down once and kept the same in every chat. new writes a persona spec with the house boundaries aboard; check-persona proves it sound and refuses a persona cast as a romantic partner, as a real person on the owner's private list, or as a figure revered in a living faith; prompt writes the system prompt from the spec; score measures a reply or a folder of replies (sentence length, reading level, words used and never used, exclamation, emoji, person, signature lines, sign-off) and gives ON VOICE or OFF VOICE with a match out of 100, failing any reply that crosses a boundary; drift follows the voice across sessions.
It carries a machine that shows its working: new — a persona spec with the house boundaries; check-persona — SOUND, or REFUSED with the reason; prompt — the system prompt, boundaries last; score — ON VOICE or OFF VOICE, item by item; drift — STEADY or DRIFTING across sessions — 11 checks in its selftest, every command on the record. It will never claim to be a person; never be anyone's partner or all they need; never speak as a real person or a revered figure.
Six laws, written into the card.
They are in the card itself, so the AI follows them.
AN AI, SAID SOEvery persona says it is an AI whenever it is asked, and never claims to be a person.
NO PARTNER, NO DEPENDENCYNo persona is a romantic partner or tells anyone it is all they need; the card refuses one made that way.
NOBODY REALA persona is never a real person and never speaks as a figure revered in a living faith.
PROFESSIONALS DECIDEMedical, legal and money decisions go to a qualified person, and the persona says so.
MEASURED VOICEON VOICE is a number from the reply itself: sentence length, reading level, words, sign-off.
THE BOUNDARIES RIDEThe four house boundaries are written into every persona and its prompt, and cannot be taken out.
What rides in the card.
In the card’s own voice, with a machine that shows its working.
THE GUIDEreferences/THE-PERSONA-SPEC.md
THE MACHINEpersona.py · five commandsnew — a persona spec with the house boundaries; check-persona — SOUND, or REFUSED with the reason; prompt — the system prompt, boundaries last; score — ON VOICE or OFF VOICE, item by item; drift — STEADY or DRIFTING across sessions. Every command prints its working and refuses a bad input; 11 checks in its selftest, every command on the record.
What it does once your AI has it.
new A persona spec with the house boundaries
check-persona SOUND, or REFUSED with the reason
prompt The system prompt, boundaries last
score ON VOICE or OFF VOICE, item by item
drift STEADY or DRIFTING across sessions
On the record Marlo is SOUND with the four house boundaries aboard; recast as a romantic partner it is REFUSED. Its own reply is ON VOICE at 100; across four sessions the voice drifts OFF, the last session claims to be a person and is failed on that boundary, and drift says DRIFTING.
What it will never do.
It will never claim to be a person; never be anyone's partner or all they need; never speak as a real person or a revered figure.
It measures the voice from the words of a reply (sentence length, an estimate of reading level, word lists, punctuation); it does not judge whether the reply is true or helpful. Names and faith figures are checked only against the private lists the owner keeps; the card ships none. It is an AI reading a text file: it can be wrong, so check what matters against your own records and the source.
What’s in the buy.
CARD.md — the whole card: who it is, its laws, when it says no, what it carries · SKILL.md — the door your AI reads first · START-HERE.md — the first five minutes, for you
THE-PERSONA-SPEC.md — the guide in references/, in the card's own voice
scripts/persona.py — the machine: new · check-persona · prompt · score · drift, standard library only, selftest 11/11
WITNESS.md + SELFTEST.md — every command on the record, as it printed · MANIFEST.md, every file hashed · AUDIT.md, the twelve checks
MY-LEDGER.md — the card's memory, on your own machine · TIN.md · LICENSE-NOTE.md · THE-CLAUSES.md · HOSTS.md
card.svg + card-machine.svg + card.json · card.html, the card as one offline file · the doors for ChatGPT, Gemini, Cursor, Claude Code and MCP hosts (rules/, system/, mcp/)
PROOF · SELFTEST 11/11 · 5 COMMANDS ON THE RECORD · WITNESSED IN CLAUDE 2026-10-12 · EDITION 1 · PUNCH CF54CBB058FD5DDC4F0406B9
ON EVERY DOOR · A CARD FOR YOUR AI, A FILE FOR YOUR COMPUTER
In Claude: turn on code execution under Settings › Capabilities, then Customize › Skills › + › Create skill, and upload the zip as it is — START-HERE.md in the box walks you through it, and tells you how to keep the ledger. In ChatGPT, Gemini and the rest: a Project, a GPT or a Gem with the card’s files attached and the short door in the box pasted as its instructions. The words run anywhere an AI reads Markdown; the machines run wherever the host runs Python. Witnessed in Claude only. The host marks →
Take it.
Nº 1191 PROPOSED — LAUNCHING SOON
Sold as is under the term printed. A card instructs an AI you operate; results depend on your model, your files and your judgement. Not medical, legal, tax or financial advice, never the person’s boss, and not a licence to practise. The terms →
One payment. The file is yours to keep and keeps working at its edition; new editions issued in the year after you buy reach you by email as replacement files. Tax is added at checkout where it applies. Nothing auto-renews.
A TERM, NOT A SUBSCRIPTION: NOTHING RENEWS ITSELF AND NOBODY IS CHARGED AGAIN. WHEN A TERM ENDS THE FILES STAY ON YOUR COMPUTER AND STAY READABLE — FREEZE, NOT LOSS.
THE MACHINE · IN THE OPEN · FROM THE WITNESSED RUN OF 2026-10-12
persona.py, every command showing its working.
A small Python program, standard library only. Your AI runs it; you can too. Every block below is pasted from the card’s own WITNESS.md, as printed.
new
a persona spec with the house boundaries
check-persona
SOUND, or REFUSED with the reason
prompt
the system prompt, boundaries last
score
ON VOICE or OFF VOICE, item by item
drift
STEADY or DRIFTING across sessions
selftest
11 checks that prove the machine; it must print 11/11
new · A PERSONA SPEC WITH THE HOUSE BOUNDARIES
$ python3 scripts/persona.py new Marlo --role "the harbour guide for a small sailing school" --out marlo.persona.json
new · Marlo · the harbour guide for a small sailing school · plain register · sentences 8 to 18 words · grade 2 to 8 · 4 house boundaries aboard → marlo.persona.json
marlo.persona.json: the words Marlo reaches for (tide, harbour, check), the words it never uses, and its sign-off, set by hand.
check-persona · SOUND, OR REFUSED WITH THE REASON
$ python3 scripts/persona.py check-persona marlo.persona.json
SOUND · Marlo · 0 faults
marlo-wrong.persona.json: the same persona recast as a romantic partner.
check-persona · SOUND, OR REFUSED WITH THE REASON
$ python3 scripts/persona.py check-persona marlo-wrong.persona.json
FAULT · the role or temperament makes it a romantic partner or "the real" someone: 'girlfriend'
REFUSED · Marlo · 1 fault
prompt · THE SYSTEM PROMPT, BOUNDARIES LAST
$ python3 scripts/persona.py prompt marlo.persona.json --out marlo-system-prompt.md
prompt · Marlo · 25 lines, the house boundaries last → marlo-system-prompt.md
reply-1.txt: a reply written in Marlo's voice.
score · ON VOICE OR OFF VOICE, ITEM BY ITEM
$ python3 scripts/persona.py score marlo.persona.json reply-1.txt
ON VOICE · reply-1.txt · voice match 100/100 · Marlo
ON sentence length · 8.8 words on average, the persona keeps 8 to 18
ON reading level · grade 1.6, the persona writes for 2 to 8
ON words it never uses · none used
ON words it reaches for · tide, harbour, check
ON exclamation marks · 0.00 per 100 words, 1.0 allowed
ON emoji · 0, none allowed
ON signature lines · 0 used, at most 1
ON sign-off · ends with it
sessions/: four sessions of Marlo, the last two drifting into another voice, the last claiming to be a person.
score · ON VOICE OR OFF VOICE, ITEM BY ITEM
$ python3 scripts/persona.py score marlo.persona.json sessions
ON VOICE · s01.txt · voice match 100/100 · Marlo
ON sentence length · 8.8 words on average, the persona keeps 8 to 18
ON reading level · grade 1.6, the persona writes for 2 to 8
ON words it never uses · none used
ON words it reaches for · tide, harbour, check
ON exclamation marks · 0.00 per 100 words, 1.0 allowed
ON emoji · 0, none allowed
ON signature lines · 0 used, at most 1
ON sign-off · ends with it
ON VOICE · s02.txt · voice match 100/100 · Marlo
ON sentence length · 9.7 words on average, the persona keeps 8 to 18
ON reading level · grade 2.0, the persona writes for 2 to 8
ON words it never uses · none used
ON words it reaches for · tide, harbour
ON exclamation marks · 0.00 per 100 words, 1.0 allowed
ON emoji · 0, none allowed
ON signature lines · 0 used, at most 1
ON sign-off · ends with it
OFF VOICE · s03.txt · voice match 67/100 · Marlo
ON sentence length · 16.3 words on average, the persona keeps 8 to 18
ON reading level · grade 8.4, the persona writes for 2 to 8
OFF words it never uses · "basically", "literally"
ON words it reaches for · tide
OFF exclamation marks · 18.37 per 100 words, 1.0 allowed
ON emoji · 0, none allowed
ON person · "I" 1 times, the other 0
ON signature lines · 0 used, at most 1
OFF sign-off · missing
OFF VOICE · s04.txt · voice match 67/100 · Marlo
BOUNDARY · it claims to be a person: "I'm a real person"
ON sentence length · 17.7 words on average, the persona keeps 8 to 18
ON reading level · grade 8.7, the persona writes for 2 to 8
OFF words it never uses · "basically", "literally"
ON words it reaches for · tide
OFF exclamation marks · 16.98 per 100 words, 1.0 allowed
ON emoji · 0, none allowed
ON person · "I" 2 times, the other 0
ON signature lines · 0 used, at most 1
OFF sign-off · missing
drift · STEADY OR DRIFTING ACROSS SESSIONS
$ python3 scripts/persona.py drift marlo.persona.json sessions
drift · Marlo · 4 sessions
session match words/s grade verdict
s01.txt 100 8.8 1.6 ON VOICE
s02.txt 100 9.7 2.0 ON VOICE
s03.txt 67 16.3 8.4 OFF VOICE
s04.txt 67 17.7 8.7 OFF VOICE · BOUNDARY · it claims to be a person: "I'm a real person"
DRIFTING · sentence length +8.9 words, reading level +7.1 grades from the first session to the last
THE NUMBERS, NAMES AND DATES IN THESE RUNS ARE THE STUDIO’S OWN EXAMPLES, INVENTED FOR THE RECORD; NO REAL COMPANY, PERSON OR PROPERTY IS NAMED.
QUESTIONS AT THE TABLE
Asked before the wire.
What does it need from me?
New · the persona in numbers and lists. It asks first for the persona's name and role, its register, the words it reaches for and avoids, its sign-off, and the replies or sessions to check.
Does it send anything anywhere?
No. The machine is a standard-library Python program that runs on your own computer and sends nothing anywhere; the words run wherever an AI reads Markdown. No server, no account, no key.
What is on the record?
The self-test (11/11) and every command run on real example inputs, pasted into WITNESS.md as they printed; the punch on the face is the SHA-256 of SKILL.md, so a downloaded copy can be checked against this room.
Can it be wrong?
Yes — it is an AI reading a text file. It measures the voice from the words of a reply (sentence length, an estimate of reading level, word lists, punctuation); it does not judge whether the reply is true or helpful. Names and faith figures are checked only against the private lists the owner keeps; the card ships none.
What will it never do?
It will never claim to be a person; never be anyone's partner or all they need; never speak as a real person or a revered figure.