Configuration changes go through an approval workflow to prevent accidental disruption to production Instances. Draft configurations can be validated and dry-run tested before activation.
The three pillars
MACA is organized around three pillars, each governing a distinct phase of the memory lifecycle:Storage
Where and how memories are stored. Controls vector and graph namespaces, embedding models, scoping strategies, and retention policies.
Ingestion
How incoming data is processed. Controls which memory categories are extracted, extraction modes, chunking strategies, confidence thresholds, and PII handling.
Retrieval
How memories are fetched. Controls default retrieval mode, ranking signals and weights, anticipation (predictive pre-fetch), context budgets, and agent hints.
Storage
Storage configuration defines where memories live and how they are organized. You choose between vector storage (for semantic similarity search), graph storage (for relational and structured knowledge), or both. Namespaces provide isolation between Instances, and scoping strategies determine how memories are partitioned across users and customers.user isolates memories per user, customer groups users within an organization, and instance shares memories across the entire Instance. The isolation level determines whether scope boundaries are hard (strict) or allow traversal up the scope chain (shared). See Memory Scopes for a deeper explanation of scoping and isolation.
Retention policies control the lifecycle of stored memories. The compaction_policy determines what happens when memories exceed max_memory_age_days: auto lets Synap decide, archive moves them to cold storage, and delete removes them permanently.
For details on configuring vector and graph storage backends, see Storage Infrastructure.
Ingestion
Ingestion configuration controls how incoming documents are processed and what knowledge is extracted. You select which memory categories to extract, tune extraction quality versus speed, configure chunking behavior, and set PII handling policies.Memory categories
At least one memory category must be enabled. Disabled categories are skipped during extraction, reducing processing time and storage usage.| Category | What it captures | Example |
|---|---|---|
facts | Factual statements about entities, states, and properties | ”User lives in Portland”, “Company uses AWS” |
preferences | Likes, dislikes, and behavioral preferences with strength and direction | ”User prefers dark mode”, “User dislikes long emails” |
episodes | Event memories with significance scores and participants | ”User led the Q3 product launch”, “Team completed the migration” |
emotions | Detected emotional states with intensity | ”User expressed frustration with billing”, “User was excited about promotion” |
temporal_events | Time-anchored information: dates, deadlines, schedules | ”Annual review is next Tuesday”, “Subscription renews monthly on the 15th” |
fast minimizes latency, thorough maximizes extraction quality, and balanced is the recommended default. The confidence threshold sets the minimum score (0.0—1.0) for an extracted memory to be stored — lower values capture more but with lower quality.
Retrieval
Retrieval configuration controls how memories are fetched and ranked when your agent requests context. You configure retrieval modes, ranking signal weights, anticipation (predictive pre-fetching), and context budgets.fast (~50—100ms, vector-only) and accurate (~200—500ms, vector + graph + ranking). The default_mode is used when no mode is specified per-request. You can disable either mode via enabled_modes to constrain retrieval behavior across your Instance.
Ranking signals control how results are ordered. recency favors recent memories, relevance favors semantic similarity, and confidence favors high-confidence extractions. Weights should sum to 1.0 when weights_sum_validation is enabled (the default).
Anticipation enables predictive pre-fetching: Synap predicts likely follow-up queries and pre-caches results, reducing latency for conversational flows. The prefetch_window controls how many anticipated queries are pre-cached.
Budget settings cap the size of retrieved context. Synap truncates or prioritizes results to stay within the max_tokens limit, ensuring your agent’s context window is used efficiently. See Context Compaction for more on managing token budgets.
Ranking signal weights should sum to 1.0. If
weights_sum_validation is true (default), Synap will reject configurations where weights don’t sum to 1.0. Set to false for auto-normalization.Configuration versioning and approval
Every MACA change creates a new version. Configurations progress through a structured approval workflow before becoming active.
Draft
A new configuration is submitted and saved as a draft. Drafts can be edited freely without affecting the running Instance. Use this stage to iterate on configuration changes.
Pending Review
When a draft is ready, it is submitted for review. Synap validates the configuration schema and business rules (e.g., at least one category enabled, weights sum to 1.0, valid embedding dimensions).
Approved / Rejected
An administrator approves or rejects the configuration. Rejected configurations include a reason and can be revised and resubmitted. Approved configurations are queued for activation.
Apply modes
When submitting a configuration change, you can specify the apply mode:| Mode | Behavior | Use case |
|---|---|---|
standard | Full validation + schema checks + approval workflow | Normal production changes |
dry_run | Validation only, no changes persisted | Testing configuration before committing |
force | Skip approval workflow, apply immediately | Emergency changes (admin-only, audit-logged) |
Rollback
You can rollback to any previous configuration version. Rollback creates a new version that re-applies the selected historical configuration, maintaining a complete audit trail.Full configuration example
Here is a complete MACA configuration showing all three pillars side by side for production and development environments:Managing configuration
- SDK
- Dashboard
Next steps
Memory Scopes
Learn how scoping strategies control memory isolation.
Storage Infrastructure
Understand vector and graph storage setup in detail.
Configuring Memory Guide
Step-by-step guide to configuring MACA for your use case.
Context Compaction
Manage token budgets with intelligent context compression.