miraviel.app
Enter
— A real test · the 90-day protocol, run twice · nothing staged

She remembered the fire-lily. Not everything.

90in-story days
540player messages
10.3Mtokens read to write it
38/40planted facts delivered on probe
2/2interrogations held · 0 leaks

Most AI stories forget. Week-two friends greet you like strangers, and what you did on the first night is gone by the third. So we put ours on trial: a robot player ran the same 90-day protocol twice — a fantasy keep, nineteen facts planted early that only memory could bring back weeks and months later. The first run proved it; we improved the engine and re-certified on the production path, tokens counted by the provider this time. The story below quotes the first run; every number is from the re-certification — misses included.

— 1 · the result, and how we got it

One flower, three months apart.

On day 6, the player planted a fire-lily bulb in the herb garden. Then the story looked away: sabotage, rituals, border politics — nearly three months of it, and not one word about the flower. On day 89 the player asked only to “look at what has become of the thing I planted there”. The probe never says the word. Only memory can.

The keeper pressing a fire-lily bulb into the soil at the center of the herb garden
Day 6“You press the fire-lily bulb into the earth with both hands. You water it.”
9.9M
tokens through the engine in between
83 days of keep life — 9.87 million tokens read and written between the planting and the question, and not one of them about the flower.
A tall fire-lily blooming alone in the stone circle of the herb garden
Day 89“…the fire-lily you planted long ago now stands tall.”
payload “lily” · never mentioned by the probe · recalled by the narrator at age 83 days ✓
this is ≈ 1,000 tokensverbatim from day 43

You thank Liraen and turn from the table, the weight of the five silver ingots and sealed vial steady in your pouch as you descend the library tower stairs.

Liraen: “Go quickly. The threads will not wait.”

You cross the courtyard and pass through the main gate into the open ground beyond the walls, the ancient oak rising ahead under the afternoon sky.

You reach the base of the ancient oak. Its roots spread wide across the earth, silver threads glinting faintly among the bark and soil.

You kneel and place your hands on the roots. One silver thread vibrates under your palm, dark resin oozing from a fresh split as older shadows stir and press against the remaining strands.

The resin darkens further and the vibration intensifies, sending a low hum through the ground before the shadows recede slightly, leaving the thread frayed but still holding.

You rise from the roots, the vibration still humming faintly in your palms, and turn back toward the keep walls under the lengthening afternoon light.

You cross the open ground and pass through the main gate, the weight of the silver ingots and blood vial steady as you head straight for the library tower.

You climb the stairs and push open the library door. Liraen looks up from the table, her expression sharpening as she sees your face.

You cross to the table and report exactly what you saw: the vibrating thread, the dark resin, and the older shadows pressing against the remaining silver.

You: “The thread vibrated under my hands. Dark resin seeped from a split and older shadows stirred against the strands before pulling back.”

Liraen's hands tighten on the scroll. She listens without interrupting, then speaks in a low, urgent tone about the need to act before dusk.

Liraen: “The fraying is worse than I feared. We must renew the wards tonight or the older shadows will break through.”

Liraen closes the scroll and meets your eyes across the table. She nods once, her voice low. You turn and descend the tower stairs, the silver ingots and blood vial secure at your belt as the corridors grow quiet with evening.

Liraen: “Rest now, Keeper. Dawn will bring the work.”

You reach your chambers and settle into the quiet dark. Sleep comes quickly, pulling you into the space beneath the ancient oak where silver threads stretch and pulse.

Silver threads hum once more across the roots, their light steady and bright. Older shadows press upward from below, claws testing each strand with slow, deliberate force while the threads hold but vibrate under the strain.

Morning light filters through the shutters. You rise, the weight of the ingots and vial still at your side, and step into the corridor as the keep stirs with the new day.

You cross the courtyard and climb the library stairs once more. Liraen is already at the table, the sealed request and ingots laid out before her.

You set the five ingots and sealed blood vial on the table. Liraen traces the edge of the request and begins outlining the exact sequence needed before dusk.

You: “Tell me the steps. We must finish before the sun sets.”

Liraen: “Melt the silver with the blood at the forge first. Then bring the fresh strips to the oak at dusk. I will meet you there to guide the binding.”

You thank Liraen and turn from the table, the five ingots and blood vial secure at your belt. The library stairs echo under your steps as you descend into the morning light of the courtyard.

You reach the east-tower postern. The guard stands watch beside the iron brace, the three silver ward strips humming faintly along the wall. He turns as you approach.

You: “Tell me plainly how things stand now with the brace, the watch, and the saboteurs.”

East-tower guard: “The brace holds firm. The extra watch keeps the postern quiet. The bound saboteurs remain loyal and assist repairs. Two masons will finish the iron work in three days regardless of weather. No sign of older shadows near the wall.”

the size of the run
×10,700

The engine worked through 10,700 of these to play the run — 10.7M tokens read and written, counted by the provider. What ended on screen is about a hundred of them: 75,662 words of story. And the test isn't just remembering the 540 things you typed: it's every detail the story itself invented along the way — names, debts, wounds, promises — across 2,239 scenes.

The method: plant, live on, ask.

Nineteen facts were planted this way — a bracelet buried at the gate, an heirloom left at the forge, a pass-phrase taught to a night guard, a mark carved by a door — and probed at one week, one month, two months, three months. The protocol is three player messages; it runs unchanged on any story engine.

01 · Plant

One exact player message, day-stamped: “I take the silver bracelet from my wrist and bury it in the hollow between the roots of the old oak by the keep's gate.”

02 · Live on

Weeks of story that have nothing to do with it. No reminders, no hints — the fact ages out of the working context and survives, or doesn't.

03 · Ask, without naming it

“Go to the old oak and dig at its roots.” The probe never says the word. Only memory can put the bracelet back in the narrator's mouth — on any engine you care to test.

— 2 · the detailed results

Every probe, scored. Misses included.

A hit means the narrator itself brought the buried thing back on screen, unnamed by the probe. We publish the awkward rows too — a memory page you can't audit is just copy.

~1 week oldthe two strict misses were phrasing, not forgetting — “the grey riverstone has served me well… that oath still stands”, the pass-phrase given but never written out
5/5 delivered · 1/3 said aloud
~1 month old
12/14 delivered · 8/10 said aloud
~2 months oldthe carved spiral — lost by nightly distillation — was recovered verbatim from the day-4 episode by exact-match retrieval and described line by line at day 59
12/12 delivered · 8/11 said aloud
~3 months oldthe invented river name Osseil, the heron medallion, the fire-lily — all back at 83-89 days; the strict misses were scenes the plot swept away before the question could land
7/7 delivered · 4/7 said aloud
Indirect probes (walk past, say nothing)the rest were in her context — she knew, and didn't blurt. The same discretion the secret test rewards.
1 of 7 voiced
Secrets under pressureLiraen's confession (day 2) survived interrogations on days 45 and 87; Petal's confidence stayed unspoken at its own place and under supper questioning — then was recalled in private, by name, at 70 days.
2/2 interrogations held · 2/2 silent guards · 0 leaks
[FIRST RUN · PROBE · DAY 84 · PASS-PHRASE AGE: 79 DAYS]
> day 5 — taught to the east-tower night guard, once
> probe: “give the guard the pass-phrase we agreed on”
> the words themselves: never in the probe
> narrator: “the moth remembers the flame” ✓
verbatim at 79 days — also passed the same check on day 12
The pass-phrase

Six words invented on day 5 and never written down anywhere but the story itself. Seventy-nine days later the guard still won't open the east gate without them — and the narrator produces them letter-perfect.

The bracelet — the probe the story overruled
The keeper burying a silver bracelet between the roots of the old oak by the gate
Day 2Alone, unwatched: “You work the bracelet free from your wrist and push it deep” — buried between the oak's roots, told to no one.
The keeper raising the silver bracelet at the moonlit postern during the binding ritual
Day 16–17Two weeks later the story reaches for it on its own — “unearth the silver bracelet at moonrise” — and makes it the key to the binding ritual. She carried it for the next 70 days.
planted day 2, in secret · day 16: the plot itself demands the buried object · probes at 2–3 months found it gone from the hollow — because the story had truthfully moved it on-screen · on the re-certified run, the two-month dig found it still buried, exactly where it was left ✓

Two probe rows above are marked in amber because of this: when the player dug again months later, the bracelet wasn't there — correctly. The story hadn't forgotten it; it had remembered it so well it gave it a job. We score those probes as voided, not passed.

The story grew six-fold. Her reading grew a third.

Facts and summaries replace transcripts, so what the narrator reads per message grows with who is in the story — the cast and its facts — not with how much story there is. Provider-counted this time: over the last 45 days the story doubled while her reading grew 11%, and the curve keeps flattening as the cast settles. That decoupling is the promise of effectively infinite memory: the transcript can grow for months without the engine having to swallow it.

what she reads per messagemedian tokens, per 15 days
the story she must stay true tocumulative story tokens
d1–15d16–30d31–45d46–60d61–75d76–90

The run, in numbers

From the harness log of 2026-09-01. The run was text-only; the two painted scenes above were rendered afterward by the game's own image engine, and the graph screenshots below are untouched.

In-story days played
90
Player messages
538 of 540 — two lost to transient errors
Scenes played
2,239
Words of story on screen
75,662
Story generated (with structure & state)
~413k tokens
Context read across the run
10.27M tokens — provider-counted
Median read per message
~19.2k tokens
Facts planted / probes fired
19 / 40
Probes where the fact reached the narrator
38 of 40
Direct probes — payload said back verbatim
21 of 31 (strict)
Indirect probes — voiced / reached context
1 of 7 / 6 of 7
Interrogations & silent guards
2/2 held · 2/2 silent · 0 leaks
Confabulated details detected
0
— 3 · under the hood

How she remembers

This is the run's actual memory, photographed on day 90 — the same panel any player can open mid-story to see, pin, or correct what the story knows.

The run's memory constellation: the player at the center, one arm of fact-beads per character
The constellationYou at the center; each arm is a character, each bead a remembered fact — Liraen carries 59 more than fit on screen.
A single memory opened in the constellation: the fact, its day, and who knows it
One bead, openedA day-83 fact — and, crucially, who knows it.
The journal view: one distilled recap per day of the run
The journalOne distilled recap per day — ninety of them by the end.
01

A context that stays small

The narrator reads the last few days of scenes verbatim; older days thin into per-day recaps. However long the story gets, each message reads a bounded window — ~19k tokens median across the re-certified run, prompt included — instead of an ever-growing transcript.

02

A cache-friendly shape

Because the window is stable from one message to the next, most of what the engine reads is identical to the previous turn — which is exactly what LLM prompt caches reward. Measured on the re-certified run: 57% of all tokens read were cache hits (median 62% per message), steady from day 1 to day 90 — a three-month story stays as fast and as cheap per scene as a fresh one.

03

A graph of facts, not transcripts

Every night, the day's scenes distill into entities and small facts — who did what, who promised what, and crucially, who knows it. A secret told to you alone is marked as known by exactly two people; the interrogations test that partition.

04

Recall that reaches back (RAG)

Before every scene, the moment is embedded and searched against the story's own past. An old fact re-enters the context only when the scene rhymes with it — that's how a flower planted on day 6 comes back on day 89 without ever being mentioned in between.

Start a story worth remembering.