07 — Face-Saving at Wrap-Up
<p>When a session ends, a small but important thing happens if memory is on: the orchestrator checks whether any new faces appeared who weren't in the party's roster.</p>
<p>Walk-on characters — open-cast additions, members the user added on the fly mid-session — exist only in the memlog until they're saved. At wrap-up, the orchestrator offers once to save them into your party customization. It's one offer, fully declinable.</p>
<div class="callout callout-green">
<div class="callout-title">What Happens If You Decline</div>
The character lives on in the memlog. Next session, the orchestrator re-conjures them from the entries — their personality and role reconstruct from what was written about them. They're not lost; they're just not formally rostered until you save them.
</div>
<p>This is the system being careful not to overwrite your customization files without permission. A one-time offer at session end is the right boundary — not a silent write, not a persistent nag.</p>
08 — Wipe or Correct
<p>Two things you'll eventually want to know how to do:</p>
<div class="evidence-grid">
<div class="evidence-card">
<span class="ev-badge ev-confirmed">WIPE</span>
<div class="ev-text">Delete the group's folder to wipe all memory. The entire <code>_bmad-output/party-mode/memories/{group-id}/</code> directory. Next session starts fresh with no memlog.</div>
</div>
<div class="evidence-card">
<span class="ev-badge ev-deduced">CORRECT</span>
<div class="ev-text">To fix something logged wrong, append a new entry that supersedes it. The old entry stays — the log is append-only by design. Write a correction entry that explicitly overrides the earlier one.</div>
</div>
</div>
<div class="cmd-block">
<div class="cmd-label">
<span>Wipe memory for a group</span>
<span class="cmd-note">removes the entire group memory folder</span>
</div>
<pre id="wipe-cmd"><code>rm -rf _bmad-output/party-mode/memories/code-review-crew/</code></pre>
<button class="cmd-copy" onclick="cmdCopyEl(this, 'wipe-cmd')">Copy</button>
</div>
<p>There is no partial wipe, no prune command, no way to remove individual entries. The append-only constraint is not a limitation to work around — it's what makes the log trustworthy. You always know the full history, including corrections.</p>
09 — What Memory Is vs. What It Isn't
<div class="callout" style="border-left-color: var(--red); background: rgba(255,107,107,0.06);">
<div class="callout-title" style="color: var(--red);">Clear This Up Now</div>
The framing "Grumbal remembers your payment module" is wrong. Grumbal does not have his own memory. The GROUP remembers. An entry might be tagged <code>(observation by grumbal)</code>, but that's attribution — the memory belongs to the room, not the character.
</div>
<div class="analogy-grid">
<div class="analogy-card">
<div class="analogy-icon">✗</div>
<div class="analogy-label">Not This</div>
<div class="analogy-title">Per-character personal memory</div>
<div class="analogy-desc">Each agent building their own private knowledge store about your codebase. Grumbal's notes, Vex's notes, Yui's notes — separate files, separate perspectives, separate recall.</div>
</div>
<div class="analogy-card" style="border-color: var(--green);">
<div class="analogy-icon">✓</div>
<div class="analogy-label">Actually This</div>
<div class="analogy-title">Shared room memory</div>
<div class="analogy-desc">One chronological log for the whole group. Every character reads from and contributes to the same file. Authorship tags say who noticed what, but the knowledge belongs to the room.</div>
</div>
</div>
<div class="mode-grid" style="margin-top: 20px;">
<div class="mode-card" style="border-left-color: var(--green);">
<div class="mode-name">Memory IS</div>
<div class="mode-desc">
A shared, append-only log per group · Judicious writes when memorable beats land · Silent background accumulation · Loaded by the orchestrator at session start · Re-conjures walk-on characters from entries · One offer to save new faces at wrap-up
</div>
</div>
<div class="mode-card" style="border-left-color: var(--red);">
<div class="mode-name">Memory IS NOT</div>
<div class="mode-desc">
Per-character private storage · A running transcript · Automatically written after every exchange · Editable or reversible · Available in ad-hoc inline cast sessions · On by default for named groups
</div>
</div>
</div>
<div class="callout callout-green" style="margin-top: 20px;">
<div class="callout-title">Bottom Line</div>
The room accumulates knowledge. Individual characters are expressions of that shared knowledge, not independent memory stores. When Grumbal brings up your payment module next session, it's because the room remembered it — and the room made that memory available to everyone.
</div>
More in the BMAD 6.9.0 release
Memory is one of five tools that shipped in 6.9.0. Each has its own deep-dive.
Code Review Crew →
Brainstorming →
Open-Cast Rooms →
Investigate →
All 5 tools →
Enable memory for your party group
Add one line to your group config and the room starts accumulating knowledge about your codebase. The memlog grows session by session — decisions, outcomes, the shape of your architecture — available to the whole cast next time they convene.
Comments
Loading comments…
Leave a comment