Managing Your Project Memory
Once initialized, your project memory is a living knowledge base that you can view, edit, and refine. This page covers how to access and work with each section of your memory.
Accessing Memory
There are two ways to open a project's memory:
- From the dashboard: Click the brain icon on any scan card that has active memory
- From Features: Go to Features > Persistent Memory and click on any project in the list
A red dot on the brain icon indicates there are pending updates waiting for your review.
Memory Viewer
The memory viewer has a sidebar listing seven content categories, each showing an item count. Click any category to view and manage its contents.

Overview
A high-level markdown summary of your project — its architecture, key components, dependencies, and assumptions.
- Editable: Toggle between Preview and Edit mode
- Format: Free-form markdown
- Use this to capture context that AuditAgent should know about your project's design and intent
Custom Instructions
Your personal guidance for future scans. Use this to steer AuditAgent toward what matters most for your project.
- Editable: Toggle between Preview and Edit mode
- Limit: 10,000 characters maximum
- A character counter is displayed while editing
Here are some ways you can guide your scans:
- "Highlight the main areas of risk in your protocol"
- "Do not report centralization risk findings"
- "Focus on reentrancy and flash loan attack vectors"
- "Pay special attention to access control in admin functions"
Documentation
Read-only view of the documentation ingested during initialization. This includes:
- Readme files from your repository
- Additional links you provided
- Q&A pairs you entered during setup
- Additional documentation text
Documentation is provided during the scan stepper and cannot be edited directly from the memory viewer.
Invariants
Properties of your smart contracts that should always hold true. This is the most interactive section of your memory.
- Fully editable: Add, edit, and delete invariants per contract
- Per-contract organization: Invariants are grouped by contract, displayed in an expandable accordion
- Show all contracts: Toggle to reveal contracts in scope that don't have invariants yet, so you can add new ones
Each invariant card shows:
- A human-readable description of what the invariant means
- A condition — the formal statement that should never be violated
- The source (scan or user) and last updated timestamp
- Edit and delete controls
To learn more about what invariants are, see Understanding Invariant Checks.
Hypothesis
Working theories and threat models identified during scans, organized by contract.
- Fully editable: Add, edit, and delete hypotheses per contract
- Per-contract organization: Hypotheses are grouped by contract, displayed in an expandable accordion
- Show all contracts: Toggle to reveal contracts in scope that don't have hypotheses yet, so you can add new ones
Each hypothesis card shows:
- A description of the threat model or working theory
- The potential impact (optional)
- The source (scan or user) and last updated timestamp
- Edit and delete controls
New hypotheses are proposed by AuditAgent after each scan and appear as pending changes.
Contradictions
Cases where your documented intention doesn't match the actual code implementation.
- Deletable: Remove contradictions that have been resolved
- Each entry shows the documented behavior vs. the implemented behavior
- Helps identify specification drift or undocumented design changes
Excluded Findings
Findings that have been intentionally excluded from future scans, so results stay consistent.
- Read-only in the memory viewer
- To manage exclusions, use the Finding Exclusions feature
- Each entry shows the finding title, original severity, reason for exclusion, and source
Deleting Project Memory
To delete a project's memory entirely, click the trash icon at the top of the memory viewer. A confirmation dialog will appear.
Deleting memory is permanent and cannot be undone. All accumulated knowledge — invariants, hypotheses, custom instructions, and exclusions — will be lost. Future scans will start without any prior context.
After deletion, you can re-initialize memory for the same project if needed.