You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: CONFIGURATION.md
+2-1Lines changed: 2 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,6 +38,7 @@ Higher-tier models with longer cache windows benefit from a longer TTL. Setting
38
38
| Option | Type | Default | Description |
39
39
|--------|------|---------|-------------|
40
40
|`enabled`|`boolean`|`false`| Master toggle. |
41
+
|`ctx_reduce_enabled`|`boolean`|`true`| When `false`, hides `ctx_reduce` tool, disables all nudges/reminders, and strips reduction guidance from prompts. Heuristic cleanup, compartments, memory, and search still work. Useful for testing whether automatic cleanup alone is sufficient. |
41
42
|`cache_ttl`|`string` or `object`|`"5m"`| Time after a response before applying pending ops. String or per-model map. |
42
43
|`protected_tags`|`number` (1–20) |`20`| Last N active tags immune from immediate dropping. |
43
44
|`nudge_interval_tokens`|`number`|`10000`| Minimum token growth between rolling nudges. |
@@ -141,7 +142,7 @@ Configures the dreamer agent — both the model it uses and the maintenance task
141
142
142
143
### How scheduling works
143
144
144
-
The schedule check piggybacks on `message.updated` events with an hourly debounce. When the current time falls inside the configured window:
145
+
An independent 15-minute timer checks the schedule regardless of user activity, so overnight dreaming triggers even when the user isn't chatting. When the current time falls inside the configured window:
145
146
146
147
1. The scheduler scans the memory store for projects with activity since the last dream.
147
148
2. Eligible projects are enqueued into a SQLite-backed dream queue.
Search across all data layers with a single query — project memories, session facts, and raw conversation history. Results are ranked by source (memories first, then facts, then message hits).
129
+
130
+
```
131
+
ctx_search(query="authentication approach")
132
+
```
133
+
134
+
Message results include ordinal numbers the agent can pass to `ctx_expand` to retrieve the surrounding conversation context.
135
+
127
136
### Automatic context injection
128
137
129
138
Every turn, Magic Context injects a `<session-history>` block containing:
@@ -170,7 +179,7 @@ As context usage grows, Magic Context sends rolling reminders suggesting the age
170
179
171
180
After each historian run, qualifying facts are promoted to the persistent memory store. On every subsequent turn, active memories are injected in `<session-history>`. New sessions inherit all project memories from previous sessions.
172
181
173
-
Memories are searchable via `ctx_memory(action="search", ...)` using semantic embeddings (local by default) with full-text search as fallback.
182
+
Memories are searchable via `ctx_search` alongside session facts and raw conversation history, using semantic embeddings (local by default) with full-text search as fallback.
174
183
175
184
### Dreamer
176
185
@@ -230,6 +239,8 @@ All durable states live in a local SQLite database. If the database can't be ope
230
239
|`memory_embeddings`| Embedding vectors for semantic search |
231
240
|`dream_state`| Dreamer lease locking and task progress |
0 commit comments