Memory - JakeJamesDev/formamorph GitHub Wiki
🧠 Story Memory
How Formamorph remembers a long story, and how you can change what it remembers.
Why Memory Exists
An AI model can only hold so much text at once. A story that runs 50 turns doesn't fit, so something has to give. Formamorph keeps the recent turns word for word and carries older turns as short memories instead.
| Layer | What It Is |
|---|---|
| 🔍 Recent turns | The last few turns, sent exactly as written. Their full prose keeps the story's voice consistent. |
| 📌 Memories | Everything older, compressed to a sentence each. The story writes these itself, one per turn. |
| 🗑️ Let Go | Memories the story judged not worth carrying, such as an errand you already finished. |
More memory is not better memory. A recap with everything that ever happened crowds out the part that matters, and the story starts to repeat itself. The story prunes memories on purpose.
[!NOTE] Most memory settings are in Settings → Output, in the Memory, Time and Characters sections. Those sections show only in Advanced mode. Select Advanced next to the Settings title to see them.
How to Edit a Memory
- During the game, open the side panel's Memory tab.
- Select Manage Memories. The Memories dialog opens.
- Find the memory. Type in Search memories…, or select a filter chip.
- Select the pencil button, Edit This Memory.
- Rewrite the text.
- Select Save.
The story always keeps your version. To go back to the story's own words, select Revert to the Original on that memory.
How to Add a Memory
- Open the side panel's Memory tab.
- Select Manage Memories.
- Select Add Memory.
- Type the fact the story should carry, such as a promise or a standing detail.
- Select Add.
Memories you write are always kept. The story never judges them.
How to Pin or Forget a Memory
- Open the side panel's Memory tab.
- Find the memory.
- Select Pin This Memory to keep a memory the story let go. Select Forget This Memory to let go of a memory the story kept.
- To give the decision back to the story, select Clear Pin (Let the Story Decide).
Memories you wrote have no pin button, because the story never lets them go.
How to Undo Your Memory Changes
- Open the side panel's Memory tab.
- Select Manage Memories.
- Select Reset All My Changes.
- Confirm in Reset Every Memory Change?.
To bring back one deleted memory instead, select the Deleted filter chip, then Restore This Memory on that memory.
How to Turn Memory Off
- Open Settings.
- Select Advanced next to the title.
- Open the Output tab.
- In the Memory section, turn off Memory Summaries.
During the game, the How to Play help has the same Memory Summaries checkbox on its Memory & Notes tab, in every mode.
How to Date Each Memory
- Open Settings.
- Select Advanced next to the title.
- Open the Output tab. Memory Summaries must be on, or the Time section does not show.
- In the Time section, turn on Measured Clock.
- Turn on Time in Memory if the AI should also read the dates.
The Memory Tab
Open the side panel's Memory tab during the game to see the whole ledger. Faded, struck-through lines are the ones the story let go.
| Control | What It Does |
|---|---|
| 📌 Pin This Memory | Forces a let-go memory to stay. |
| 🚫 Forget This Memory | Forces a kept memory out. |
| ↺ Clear Pin (Let the Story Decide) | Gives the decision back to the story. Shows only on a pinned memory. |
| Manage Memories | Opens the Memories dialog. |
The filter chips are All · Verbatim · Summary · Held · Custom. Custom shows the memories you wrote.
Memories under the Recent divider still go to the AI word for word, so a pin on one of them matters only after it ages out. The divider shows under the All chip only.
The Memory Manager
Manage Memories opens the Memories dialog, the full editor. Each memory has these buttons:
| Button | What It Does |
|---|---|
| ✏️ Edit This Memory | Rewrite a memory in your own words. The story always keeps your version. |
| 🔄 Have the Story Write This Memory Again | The story summarizes that turn again. The new text carries a Rewritten badge. |
| 🗑️ Delete This Memory | Removes a memory. Select the Deleted chip to bring it back. |
| ↩️ Revert to the Original | Puts an edited memory back to the story's own words. |
| ♻️ Restore This Memory | Brings a deleted memory back. Shows under the Deleted chip. |
| 📌 Pin This Memory, 🚫 Forget This Memory, ↺ Clear Pin (Let the Story Decide) | The same pin buttons as the Memory tab. |
Add Memory writes a memory for something that never happened in a turn: a standing fact, a promise, a detail you want carried. Yours carry a Yours badge, and the story never judges them.
Search memories… and the filter chips find a memory in a long story. The chips are All · Verbatim · Summary · Held · Let Go · Edited · Custom · Deleted. Verbatim, Summary and Held name the form the story holds a memory in, and a memory is only ever one of them.
[!TIP] Nothing here is destructive. The story's own summary is always kept under whatever you write, so you can undo every change. Reset All My Changes puts the whole ledger back the way the story had it.
Kept vs Sent
Being kept and being sent are different things.
Kept is a standing verdict: the story judged this memory worth carrying, or you pinned it. Sent is about one turn. With Semantic Memory on, the game ranks the kept memories against what you just did, and only the most relevant ones go to the AI. A long story keeps far more memories than any single turn sends.
| Row | Means |
|---|---|
| Left accent bar | Sent to the story on the last turn |
| Plain | Kept, but not sent this turn |
| The story let this one go |
The three forms a memory can be in:
| Chip | The story has… |
|---|---|
| Verbatim | The real text: a recent turn, or one that Scene Recall sent back whole |
| Summary | The compressed line you're reading, and nothing more |
| Held | Nothing this turn. Still kept, until it is relevant again |
A memory that Scene Recall sent back as its full original prose has an accent too, and a Scene badge in the Memories dialog. The story saw the whole scene, not only the one-line summary. The Verbatim chip collects those and the recent turns that still go to the AI word for word.
[!NOTE] Nothing is marked until a turn has run. A save you just loaded shows no accents. Memories under the Recent divider are never marked, because they always go to the AI word for word.
Memory Settings
All of these are in Settings → Output, in Advanced mode.
| Setting | Section | Default | What It Does |
|---|---|---|---|
| Memory Summaries | Memory | On | Condenses older turns into memories. One extra request per turn. |
| Semantic Memory | Memory | Off | Keeps the memories most relevant to your action, not only the newest. Runs a small model on your device, a one-time download of about 23 MB. Shows when Memory Summaries is on. |
| Memory Cap | Memory | On, 12 | Sends at most this many memories each turn. The story opening and the newest memories always stay. Shows when Semantic Memory is on. |
| Scene Recall | Memory | Off | Sends a past scene word for word when your action goes back to it. At most two scenes per turn. Shows when Semantic Memory is on. |
| Measured Clock | Time | Off | Measures how much story time each turn takes. See When Each Memory Happened. |
| Time in Memory | Time | Off | Tells the AI when each memory happened. |
| Character Diaries | Characters | Off | Each entity present writes a first-person diary entry as turns age out. Its recent entries shape its motivation. Shows in the Staged Thinking mode only. |
| Diary Recall | Characters | Off | Adds older diary entries that are relevant to the moment. Costs nothing extra. Shows when Character Diaries and Semantic Memory are on. |
The Time section shows only while Memory Summaries is on.
Milestone Select is a prompt, not a setting. Between turns, it decides which summarized turns stay in long-term memory. Edit it under Settings → Prompts → Milestone Select, in Advanced mode. Its tab shows while Memory Summaries is on.
When Each Memory Happened
With Measured Clock on, every memory carries its place in the story's own time:
Day 3, evening — two days ago
Both readings sit together on purpose. Day 3, evening tells you where in the story you were. Two days ago tells you how far back that is. The AI reads the same stamp when Time in Memory is on.
The side panel's clock reads the same way: Day 1, morning, not a count of hours.
| Recent Memories | moments ago, earlier today |
| Your Own Memories | Stamped at the moment you added them |
| Times of Day | Coarse: dawn, morning, midday, afternoon, evening, night. Never a clock reading. |
[!NOTE] The Memory tab dates nothing while Measured Clock is off. Without it every turn costs the same Time Per Turn (one hour unless you change it), so a date would only be a turn count. Time in Memory still dates what it sends to the AI, at that time per turn. Turn Measured Clock on partway through a story, and the earlier turns are dated at that time per turn. The scale is wrong, but the order is right.
Both settings are in Settings → Output → Time, in Advanced mode. Measured Clock decides whether the game measures time. Time in Memory decides whether the AI is told.
Where the Clock Starts
The clock also has to start at the right time of day. With Measured Clock on, the game reads your opening scene once and sets the clock to match it. A story that opens on lamps and a cold watch starts at night. One that opens on morning rounds starts in the morning.
| When it runs | Once, on the opening turn |
| What it reads | Your opening scene, not the world description |
| If it can't tell | The clock starts in the morning |
| Existing stories | Never re-dated. See below. |
| Re-generating the opening | Read again, so a new opening gets its own clock |
[!IMPORTANT] Turning Measured Clock on partway through a story does not change when that story began. The opening scene is long gone by then, and a new start would move every stamp you already have.
Edit how it judges a scene under Settings → Prompts → Opening, next to Clock. The Prompts tab shows in Advanced mode, and both tabs show while Measured Clock is on.
Memories vs Notes
Both travel with the story, but they answer different questions.
| Memories | Notes | |
|---|---|---|
| Answer | What already happened | What's true right now |
| Written by | The story (you can edit) | You |
| Changes over time | Yes. They age, and the story prunes them. | No. They stay until you change them. |
| Good for | A promise made, a fight won, a secret learned | Who you're pretending to be, what you're carrying, your current goal |
If the story keeps forgetting something that should always hold, put it in Notes. If it forgot something that happened, that's a memory. Pin it, or write it yourself.
Turning Memory Off
Memory Summaries controls whether the story writes memories at all. It is in Settings → Output → Memory, in Advanced mode. With it off, the oldest turns drop away as the story outgrows its context, and nothing carries forward in their place.
Memories you wrote by hand still go to the AI with the setting off. They're yours, not the story's.