Brand Memory. How it composes future generations
Brand Memory is a ledger of what happened to your work, not a score filter on "good" drafts. Siren writes a row when something real occurs, then later distills repeated corrections into rules the next generate can apply.
What gets stored
| Event | When it writes |
|---|---|
| generated | A render lands (dashboard campaigns and the campaign agent) |
| discarded | You delete a run. Not the agent's visual-verify discard (that is engine QA) |
| edited | You change a seed (tweaks) |
| rated | Thumbs on a run |
| published | The asset posts |
| measured | Hits after post |
Every event writes, regardless of outcome. A loss is stored. That is the point.
What is not stored: your prompt as the primary record, Brand DNA fields (those live on Identity), or personal account data.
How it influences future generations
A nightly pass looks at edited rows. When the same seed path is corrected the same way at least three times, it becomes a rule on the Brand Memory page. Those rules can patch later seeds. One-off tweaks stay in the ledger and do not become rules.
Agent inspect "discard this super-run" is not a brand correction. It does not write a discarded memory.
Agents and API keys
MCP and sk_live_ keys can read and patch Brand DNA and upload product screens. They cannot fetch or patch Brand Memory. The ledger stays in the dashboard.
Retention
Brand Memory is written on Pro and above. Rows stay for as long as the workspace is on a plan that writes them, and they are deleted with the workspace.
Reading your Brand Memory
Brand DNA → Brand Memory. Newest first. Filter by event. You can mute a distilled rule. You cannot delete individual ledger rows. The memory is append-only.
What Brand Memory is not
- Not a generative model. Siren does not fine-tune on your memory.
- Not a content library. It is not a public gallery of past ads.
- Not cross-workspace. Memory from workspace A never touches workspace B.