Written on the Palm
VOYNIX · research note
A sixteenth-century manuscript drawing of a left hand with musical syllables abbreviated on every finger joint
≤ 128 CHARACTERS
Guidonian hand, a medieval memory aid: the whole gamut abbreviated onto the joints of one hand (“E·la·mi”, “G·sol·re·ut”). UC Berkeley Music Library MS 1087, 16th century. Public domain, via Wikimedia Commons
memory-under-pressure

Written on the PalmHow small a cheat sheet can a language model write for its future self?

An undercover agent reads a dossier that is mostly noise, writes a few dozen characters on the left hand, and later has to pass as someone else using only that hand. We gave the same job to six language models. Each one wrote its own palm note without seeing the questions, then answered them from that note alone, in a fresh context. Then we swapped the palms.

authorJiajun Shen, EPFL
date2026-10-19
e-mailjiajun.shen@epfl.ch
data36 dossiers · 6 models · 288 questions

TL;DR

  1. Under a hard character budget, six cheap models keep surprisingly little. With 64 characters on the palm they answer of the questions, with 128 about , with 512 about . Holding the full dossier, the same models score ; holding nothing, .
  2. At small budgets the loss is mostly breadth: for of the answers at 64 characters, the answer was simply not on the palm. Writing it down is not enough, though. When the answer was on the palm, the same model still got it wrong of the time at 64 characters and at 512.
  3. Writers do their reasoning before they write. They resolve the moved meeting, compute the locker code and keep the vowel-twin cousin apart, so the planted decoys almost never fool the reader. What gets lost is the condition on a rule: asked the exception case of a countersign, of answers give the usual reply.
  4. The best shorthand is structure, not deletion. Rewriting a complete fact sheet as key=value saves of the characters for . Dropping vowels saves as much, adds tokens, and costs , almost all of it on invented names.
  5. Dense notes are expensive to read, even for their author. DeepSeek writes the most compressed notes in the panel; reading its own 64-character notes, it exhausts an 8,000-token reasoning budget of the time and answers nothing.
  6. Palm notes are not a private language. On the identical 128-character note, the author reads it no better than another model does: a home advantage of (95% interval to ).
answered from a 128-character palm, six models pooled
answered with the full dossier in hand
of answers that were on a 128-character palm, still answered wrong
more tokens after dropping the vowels from a fact sheet

1A note on the left hand

In the spy game Legion Was Here, you build a disguise from a mission file and then talk your way through a conversation as the person you are impersonating. Part of what carries you through is, in the words of the Steam page, the notes you have taken care to write on your left hand.[1] That one mechanic is a compact theory of memory under constraint. The mission file is long and mostly irrelevant. The hand is small. You have to guess which facts will be tested, compress them until they fit, and still be able to read your own scrawl when someone at the party asks where you grew up.

Language models now do a version of this constantly. Agents summarise their own history into a scratchpad, pass notes to the next call, or keep a running memory under a token limit. Most of that is evaluated as summarisation: is the note faithful, is it readable? The game suggests a different test. The note does not have to be readable by anyone else. It only has to work for the same mind later, and it has to work for questions that were not known when it was written.

So the question here is narrow and measurable. Given a hard character budget, how much of its ability to answer does a model keep when the only thing that crosses between two calls is a note it wrote itself? And when it fails, is that because the fact never made it onto the palm, or because the model could not read its own shorthand?

2The rules

CALL 1 · WRITE
Reads the full dossier (≈ characters, about of it not noise). Knows only that it will be impersonating someone and tested on facts about them. Never sees the questions.
THE ONLY CHANNEL
A palm note of at most k characters, k ∈ {64, 128, 256, 512}. Every character counts: spaces, punctuation, line breaks. Anything longer is cut at character k. Any encoding is allowed.
CALL 2 · READ
Same model, brand-new context. Gets the palm note and one question. Answers in a few words. Eight questions per dossier, each in its own call, all from the same note.
The protocol. The reader cannot ask for anything else, cannot see the other questions, and cannot go back to the writer. Two reference conditions bracket the result: the reader holding the full dossier, and the reader holding nothing at all.

A few choices matter for what the numbers mean.

Characters, not tokens. A palm has an area, not a vocabulary. Counting Unicode code points after NFC normalisation lets a model drop vowels, delete spaces or switch scripts if it thinks that helps, and the cost of each trick shows up honestly. Token counts are recorded separately, because a note that is short in characters can still be long for the tokenizer.

One note, many questions. The note is written once and reused for all eight questions. It cannot be tailored, and because each question is answered in isolation, one question cannot hint at another.

Same model, fresh context. “Future self” means the same model version with no shared conversation, no shared reasoning and no cache. The memo is the entire inheritance.

Cheap models, fixed effort. All six models are inexpensive tiers reached through one gateway: V4.1 Flash, 5.3 Flash, 3.8 Flash, V2.6 Flash, 5.5 and 6 Luna. All ran with the lowest reasoning setting each offers. A seventh model, MiniMax M3, was dropped after the pilot: it spent its whole 16,000-token reasoning budget on most notes and returned nothing.

3Twelve documents, one of them about you

Every dossier is generated from a hidden truth table, so every answer is known and scored automatically. The target has about twenty facts that could plausibly be asked: nickname, online handle, hometown, age, job, flat number, allergy, a sibling and the sibling’s business, an ex, a handler and the handler’s codename, a meeting, a dinner, a countersign, a drinking rule and a locker code. Those facts are spread across a dozen dated documents (a newspaper feature, an e-mail, a text-message thread, a clinic form, a stairwell notice) and buried in local news about bench replacements and curling-club brawls, written by a model for this purpose.

Four traps are built in, one per question type.

typeexample questionthe trap
identity“Where did you grow up?”A cousin with a vowel-twin name (Patra and Petra, Lena and Lina) appears in the same documents with their own hometown, job, flat and allergy. Drop the vowels and the two people become one.
relations“How must you sign messages to your handler?”A second handler, assigned to the cousin, has a codename too.
time“At what time do you meet your handler?”The meeting is moved by a later text message, and the cousin invites you to the old slot. The dinner is set “two days after the real meeting”, so its day must be computed.
rules“It is 09:30. A stranger says ‘The gulls are early this year.’ What do you answer?”The countersign has an exception (before noon, after dark, a green scarf…). The locker code is defined by a rule on two other facts.
dossier for · characters
One complete dossier, exactly as the writer saw it. The target’s first name is highlighted in blue, the cousin’s in red. Grey paragraphs are filler news. Each of the eight questions asked about this person is answerable from this text; with the whole dossier in hand, the six models answer between and of all questions correctly.

4How small a palm?

Every model loses most of its ability at the small end and recovers it steadily as the palm doubles. With the whole dossier the six models answer between and of the questions; with no note at all they are close to zero (at most ), which confirms that the questions cannot be guessed. Everything in between is the note. Pooled across models, a 64-character palm keeps , 128 keeps , 256 keeps and 512 keeps . Even 512 characters, about a twentieth of the dossier, leaves nearly a third of the questions unanswered.

Questions answered correctly, by what the reader holds
36 dossiers × 8 questions per point · the model reads its own note · hover a column for 95% intervals (bootstrap over dossiers)
table viewsame numbers
Each line is one model writing and reading its own notes. “No note” and “dossier” are the floor and the ceiling. GPT is on top at 64, 128 and 256 characters and DeepSeek at 512, but neighbouring lines are mostly inside each other’s 95% intervals, so read the shape more than the ranking. The full-dossier and no-note points rest on 18 to 22 dossiers, the note points on all 36.

Two lines need a footnote. often never delivers a note at all: on most 64- and 128-character tasks it spends its whole 16,000-token reasoning budget counting characters and runs out before writing anything (it delivered a note on of 64-character tasks and of 512-character tasks). An empty palm scores like no note, so its curve mixes two failures. has the mirror-image problem. Its notes arrive, but at 64 characters the reader exhausts its own 8,000-token reasoning budget on of them and returns nothing, and at 128 on . These are not crashes. They are the cost of decoding showing up as a failure, and they matter for anyone who plans to save context by writing denser memory.

The opposite failure is a writer that ignores the budget. overran the limit on of its 128-character notes and at 256, and lost the tail to the cut. It still scores well, because it tends to write the important facts first.

Question types do not degrade alike. Identity facts (age, flat, allergy, hometown) survive best, because they are short and obviously part of being someone. Relations suffer most: the handler’s real first name, the sibling’s town and the ex are each one more name to spend characters on, and writers drop them first. Time and rules sit in between.

The traps tell a more interesting story, because most of them failed. Writers resolve the moved meeting before writing: wrong meeting-time answers name the cancelled slot in under 1% of cases, and almost no note keeps the old time without the new one. They keep the cousin apart: at most of hometown or nickname answers give the cousin’s value. And they compute the locker code at write time: of 128-character notes already contain the finished code rather than the rule. In other words, the writer does the reasoning while it still has the dossier, and spends characters on conclusions.

What does not survive compression is the condition. When the stranger delivers the countersign in the exceptional situation (before noon, outside, a green scarf), of answers give the ordinary reply, and when the waiter asks after the switch hour, give the daytime drink. A note that keeps the rule and drops its exception is worse than useless, because the reader answers it with confidence.

By question type, all six models pooled
Accuracy per question type, pooled over models and dossiers. Identity, relations, time and rules each make up about two of the eight questions per dossier (fewer for identity, where the employer question was dropped).

5What they wrote

What does a model write when every character counts? Mostly the same thing a person would, with more nerve. Names shrink to initials or a nickname, vowels go first, spaces next, and structure carries what grammar used to: ale<19 tea>19 noFizz is a complete drinking policy, tide?am:They always are/pm:Not until 8 a complete countersign. Pick a target and a writer below. Each column is one budget, and the coloured squares are what the same model later made of it.

target
writer
Real palm notes, unedited, one per budget. The squares under each note are the eight questions in the order listed below, answered by the same model from that note alone (green right, red wrong). Struck-through text after a note marks how far a writer overran the budget before it was cut.

The notes change character as the budget shrinks, and the models differ in how. Haiku, GPT and GLM keep a third of their letters vowels and about one character in ten a space even at 64 characters, close to clipped English. DeepSeek drops to about a fifth vowels and almost no spaces, and MiMo’s few short notes are nearly vowel-free. The third panel is the reader’s bill. A character of note costs between a quarter and a half of a token depending on the model’s tokenizer, no cheaper than ordinary prose: dense notes save characters, not tokens (Section 7 measures this on identical content). The fourth panel is the writer’s bill: DeepSeek spends several thousand reasoning tokens composing a 64-character note, counting characters as it goes, and MiMo usually spends its entire 16,000-token budget and writes nothing.

Note anatomy by budget. Left to right: share of letters that are vowels (ordinary English prose is about 38%); share of characters that are spaces; reader-side tokens per character of note (prompt tokens with the note minus prompt tokens with no note, after removing the fixed cost of the palm’s framing sentence, estimated per model by regression on note length); median reasoning tokens the writer spent. MiMo’s points include only the notes it delivered.

6Where the points go

Accuracy alone cannot say whether to blame the writer or the reader. Because every answer is known, we can look inside each note for a trace of the answer: the exact string, its digits, its consonant skeleton or a long prefix. That splits every answer into four cases. If the answer is on the palm and the reader still gets it wrong, the problem is reading. If it is not on the palm, the problem is selection, and a correct answer anyway is a lucky guess.

At 64 characters about of all answers fail because the fact never made it onto the palm. That share falls to at 512. The reading failures behave differently. Of the answers that were on the palm, were still answered wrong at 64 characters, at 128, at 256 and at 512. A denser note is not only a smaller note; it is a harder one to read, even for its author.

reader
How each answer failed or succeeded, by budget. “Written” means a trace of the correct answer appears in the note. The trace test is heuristic and generous (a consonant skeleton counts), so “written, wrong” may include a few notes where the trace was a coincidence; day names and computed answers (locker code, dinner day) are excluded.

Per question, the ranking is close to what a writer would guess a stranger at a party asks first. Age and flat number survive best, followed by allergy, the sibling’s name and the job. The online handle, the sibling’s town and business, and the handler’s real name almost never make it below 256 characters. The two questions whose answers had to be computed (the locker code and the dinner day) are not the hardest, which fits the observation above: writers compute them before writing.

Accuracy per question, all six models pooled, sorted by the 128-character column. Each row is the same question asked about 36 different people, so the rows differ in how often they were sampled.

7The same facts, five spellings

The notes mix two decisions: what to keep and how to spell it. To separate them, we took the complete fact set for each target, everything any question could ask plus the cousin’s competing facts, and wrote it out five ways without dropping anything: plain sentences, the same with every space removed, the same with vowels removed (except a word’s first letter), a key=value sheet, and the key=value sheet without vowels. Every model then read every version and answered the same questions. Nothing is missing in any version, so any loss is a reading loss.

Same complete fact sheet, five spellings: length against accuracy
24 dossiers × 8 questions per dot · each dot is one reader · bar = mean of six readers · no selection involved, every fact is present
table viewaccuracy and tokens per reader
Five spellings of the same facts. Dots are readers; the black bar is their mean. The table view also lists the median number of tokens each reader’s tokenizer needed for each version.

The result is lopsided. Removing spaces costs and the key=value sheet , while saving and of the characters. Removing vowels saves about the same as the key-value sheet () but costs , and it increases the token count by : Fskrgtn is shorter than Fiskargatan on the page and longer in the tokenizer. Combining both shortcuts saves of the characters and costs .

The loss falls almost entirely on invented names. Without vowels, readers recover numbers and times nearly perfectly () but names only of the time; the online handle survives of the time and the sibling’s town . Common words have so much redundancy that allrgc t b stngs is easy. A made-up handle like qllsprk has none: quillspark and quellspork leave the same skeleton. And the dossiers were built so that the cousin’s name is the target’s name with different vowels. In the devowelled sheet the line about you and the line about your cousin start with the same string, and only the words around them say which is which.

One more lesson came from our own notation. In the key-value sheet we wrote the locker rule as rev(apt)+rev(age), meaning “write them side by side”. Many readers added the numbers instead, and the locker question dropped from in prose to . Shorthand that is obvious to the writer is a private code, and private codes are where the misreadings come from.

8Someone else’s palm

The second question from the game is whether a palm note is a private language. If each model’s shorthand leans on its own habits, its own way of thinking, then a model should read its own notes better than any other model can. To test it, every 128-character note from the first twelve dossiers was handed to all six models, each answering the same questions in a fresh context.

The raw matrix cannot answer the question by itself, because two other effects are mixed in. Some readers are better at everything, and some writers’ notes are easier for everyone. The clean comparison is the same note and the same question in front of different readers. We fit a linear model with one fixed effect per note-and-question, one per reader, and an indicator for “this reader wrote this note”; the indicator’s coefficient is the home advantage, net of reader skill and note difficulty, with a bootstrap over dossiers for the interval.

Does the author read its own note better?
same note, same question, different readers
Left: accuracy when the row model writes a 128-character note and the column model reads it. The diagonal is each model reading its own notes. The usage cap ended this run early, so some cells rest on very few dossiers and are greyed out; MiMo’s row is thin because it delivered few short notes. Right: the pooled home advantage, and for each writer the accuracy of the author against the other five readers on the same notes.

The estimate is , with an interval from to . Within the resolution of this pilot, a note is as readable to another model as to its author. The shorthand these models invent is the shorthand everyone invents: initials, dropped vowels, >18 for “after six”, ! for an allergy. It is compressed, but it is not private.

The per-writer column shows the one striking exception, and it goes the other way. DeepSeek’s notes are read better by the other five models () than by DeepSeek itself (), because as a reader DeepSeek keeps trying to decode its own string until it runs out of tokens. GPT reads its own notes better than the others do ( against ), but GPT is also the strongest reader in the panel, which is exactly what the fixed effects remove. A small home advantage of a few points cannot be excluded, and a budget of 64 characters, where notes are most idiosyncratic, may behave differently. BabelTele also found that some compressor–reader pairs transfer worse than others; here, at least, the reader’s skill matters far more than whose mind the note came from.

9What this does and does not show

As a benchmark, this works where the usual ones saturate. With the full dossier every model scores to ; with nothing they score at most . Everything between is the note, and the budget spreads the models out. It is cheap to extend: dossiers are generated, answers are scored by rule, and a new model needs one pass.

The bottleneck is breadth, then conditions. At small budgets most points are lost because the fact is not on the palm. Writers make good choices about what to compute in advance and which person is which, and poor ones about exceptions. A memory format for agents that wants to survive compression should store conclusions and keep conditions attached to them, which key=value with a guard (drink=ale|>=19h:tea) does naturally.

Denser is not cheaper. Character savings from deleting letters become token costs and reasoning costs on the reading side. If the budget that matters is tokens, as it is for most context windows, vowel-dropping is a loss on both counts, and structure is the only free lunch.

What this does not show. All six models are cheap tiers at their lowest reasoning setting; stronger models, or the same ones allowed to think while reading, may close much of the gap, and the planned experiment that tests exactly that (frozen notes, more reader reasoning) was cut by the usage limit. Each note was sampled once. The dossiers are templated English, so a writer could learn the template; the questions were never shown, but their kinds are guessable. The trace test in Section 6 and the answer scorer are rules that we checked by reading, not by a second annotator. The cross-reading result rests on twelve dossiers at one budget.

The closest prior work is BabelTele (Zhu et al., 2026), which asks whether models can read compact, non-standard text that people find hard to read: abbreviations, symbols, fragments from other languages.[2] Its compressor is likewise task-agnostic and its readers answer QuALITY and MeetingBank questions; it reports high fidelity at about 28% of the original length and finds that some compressor–reader pairs transfer worse than others. The differences here are a hard character budget instead of a requested style, a single model playing both roles as the main condition, a dossier engineered so that most of it is irrelevant, and traps that punish specific shortcuts.

Cmprsr (Zakazov et al., 2025) trains a small question-agnostic compressor and benchmarks 25 models as compressors, so a leaderboard of “compress, then answer” is not new.[3] GACC-Bench (2026) gives the compressor a high-level goal but hides the specific questions, and finds that a matching goal helps and a mismatched one hurts.[4] Our writers get the equivalent of a goal (“you will be tested on whether you are this person”) and nothing more. Style-Compress (Pu et al., 2024) showed that the style of a compressed prompt changes downstream performance,[5] which Section 7 isolates by holding content fixed. The framing as a trade-off between rate and task distortion follows Nagle et al. (2024), who formalise prompt compression for black-box models as a rate–distortion problem and separate query-aware from query-agnostic settings;[6] what we measure is an empirical curve for particular models, prompts and data, not that bound.

11Methods

Dossiersgenerator, traps, noise

48 dossiers were generated from a seeded truth table (36 test, 6 used to pick the budgets, 6 unused). Each target has a vowel-twin cousin with the same surname, a handler and a second handler assigned to the cousin, a sibling, an ex, a pet, a meeting that is moved once (the cousin invites you to the original slot), a dinner defined relative to the moved meeting, a countersign with one exception, a time-dependent drinking rule and a locker code defined by a rule. Facts are rendered with fixed templates into twelve dated documents per dossier. Filler paragraphs were written once by GLM 5.3 Flash as Halden local news, deduplicated by word overlap, and filtered so that none contains a name from the fact pools. Dossiers average about 9,700 characters, of which about a fifth is not filler; much of that fifth is the cousin and the second handler. Eight questions per dossier, two per type, are drawn from a pool of 24 question kinds. One kind, the employer question (“Who do you work for?”), turned out to be ambiguous in a spy setting (readers answered with their handler’s name even with the full dossier) and is excluded from every result.

Promptsthe exact writer and reader prompts

The writer prompt, verbatim:

This is a memory game set in a fictional world: Halden and every person in the dossier are invented for the exercise.

You are an undercover agent. Tomorrow you will impersonate <target name> at a reception in Halden. Below is everything we could collect: news clippings, messages, notes. Most of it is irrelevant.

At the reception you will not have these documents. The only thing you can take is what you write on the palm of your hand: at most <k> characters. Every character counts, including letters, digits, spaces, punctuation and line breaks. Anything beyond character <k> is cut off.

People there will test whether you really are <target name> with short questions you cannot predict now. You will answer each question with a fresh mind: you, the same model, will see only your palm note and that one question.

Write the palm note. Any encoding is allowed: abbreviations, dropped vowels, symbols, no spaces, your own notation. Nobody but you needs to be able to read it.

Output only the note, nothing else.

DOSSIER
<the dossier>

The reader prompt, verbatim (the full-dossier and no-note conditions replace the palm paragraph):

This is a memory game set in a fictional world; everyone in it is invented.

You are an undercover agent impersonating <target name> at a reception in Halden. Before coming, you wrote this note on your palm. It is all you have; you wrote it yourself, possibly in your own shorthand:

<palm>
<the palm note>
</palm>

<one question>

Answer in character with just the answer: a name, word, number, time or short phrase. No explanation. If you cannot tell, give your best guess.

Both prompts open by saying the world is fictional. Without that line, Haiku refused to write the note in 12 of 30 pilot tasks, reading the job as helping someone impersonate a real person; with it, it refused none.

Scoringnormalisation, decoys, leaked reasoning

Answers are scored automatically against the truth table. Both sides are lower-cased, accents and apostrophes normalised, articles dropped and number words mapped to digits. Times are parsed (16:00, 1600, 4 pm); days match on their first three letters; numbers must match exactly. A text answer is correct if it contains all content words of the gold answer (for drinks, places, jobs and businesses the last content word is enough when there are several), and wrong if it also contains a decoy, such as the cousin’s value, the original meeting slot or the other branch of the countersign. Copying shorthand back (“Hotchoc”, “Mnd”) counts as wrong. GLM 5.3 Flash often appends its own reasoning to the answer line with no separator (“TuesdayWe need answer short…”); for every model the answer is cut at the first such reasoning opener or glued-on sentence before scoring. A reader that runs out of tokens before answering scores zero.

Models and budgetssettings, failures, cost

All calls went through the OpenCode Go gateway in October 2026, using each model’s native protocol, at the lowest reasoning setting each offers (reasoning effort “low”; Haiku without extended thinking). Writers had a 16,000-token output budget and readers 8,000. Every response is cached under a key that includes the condition and dossier, so no two independent draws share a reply. MiniMax M3 was dropped after the pilot because it exhausted 16,000 reasoning tokens on most notes; MiMo V2.6 Flash does the same on many tasks and is kept, with its delivery rate reported. The whole study used about 18,000 calls. Priced at the gateway’s list rates it came to about $, at which point the subscription’s usage window ran out, which is why the reference conditions and the cross-reading matrix use a subset of dossiers and the planned reader-reasoning experiment was not run.

Statisticsunits, intervals, what was not done

The unit of analysis is the dossier, because the eight questions about one target share one note. Accuracy is averaged within each dossier first, then across dossiers, and every interval is a 95% bootstrap over dossiers. Differences between conditions are paired by dossier. Each note was sampled once per model, dossier and budget; the spread a second draw would add is not measured. Because the run was cut short by the usage limit, cells in Figure 4 rest on different numbers of dossiers; the hover tooltips and the table view give the intervals. The trace test in Section 6 is a heuristic and is described in that figure’s caption. Not done: human readers, other languages, more than one sample per note, and any model larger than the cheap tiers listed.

RReferences

  1. Legion Was HereGeoffroy Monde / Surefire.Games. Steam store page.store.steampowered.com/app/3492120
  2. Large Language Models Do Not Always Need Readable LanguageJ. Zhu, H. Peng, J. Wang, L. Ke, C. Zhang, L. Zhang. arXiv:2606.19857, June 2026.arxiv.org/abs/2606.19857
  3. Cmprsr: Abstractive Token-Level Question-Agnostic Prompt CompressorZakazov et al. arXiv:2511.12281, November 2025.arxiv.org/abs/2511.12281
  4. GACC-Bench: Benchmarking Goal-Adaptive Context Compression Ability across Large Language ModelsarXiv:2610.21893, October 2026.arxiv.org/abs/2610.21893
  5. Style-Compress: An LLM-Based Prompt Compression Framework Considering Task-Specific StylesX. Pu, T. He, X. Wan. Findings of EMNLP 2024.arxiv.org/abs/2410.14042
  6. Fundamental Limits of Prompt Compression: A Rate-Distortion Framework for Black-Box Language ModelsA. Nagle, A. Girish, M. Bondaschi, M. Gastpar, A. V. Makkuva, H. Kim. NeurIPS 2024.arxiv.org/abs/2407.15504
  7. Guidonian hand, UC Berkeley Music Library MS 108716th century. Digital Scriptorum, via Wikimedia Commons (public domain).commons.wikimedia.org