Documentation
Memory
Memory is persisted text that is added to a task's prompt. It lives in PostgreSQL and survives browser refreshes and service restarts. It is not model training and nothing is learned outside these entries.
Entries
An entry has a title, content, a category and a scope.
| Category | Use it for |
|---|---|
| Preference | How you want things done: tone, format, naming |
| Project context | Facts about a project that tasks keep needing |
| Approved procedure | Steps that worked, written down as text |
| Note | Anything else |
Scope is global or one project. A task with a project sees global entries and that project's entries. A task without a project sees global entries only.
An approved procedure is inspectable text given to the model as guidance. It is never turned into code that runs with extra privileges, and nothing in memory can grant a tool or a permission.
Retrieval
Retrieval is keyword-based. It uses PostgreSQL full-text search with English stemming. It is not semantic or vector search: an entry about "revenue" is not found by a task that only says "income".
When a task starts, entries are chosen in three passes from active entries in scope:
- Pinned entries, always.
- Preferences, always.
- Keyword matches between the task's title and instruction and the entry's title and content, best matches first.
The total is capped (12 entries and 6,000 characters by default, adjustable in Settings). The composer shows a preview of what would be supplied before you start the task.
Every task records which entries it was given and why. You see them on the task page under Memory supplied, and each entry shows the tasks that used it.
Disable retrieval for a single task with the Use memory switch in the composer. Nothing is supplied and nothing is recorded for that task.
Proposals
A task may call propose_memory to suggest an entry. The suggestion is stored as proposed and is not used for retrieval until you approve it. You can edit it first, or reject it, which deletes it. A task can make at most three proposals.
Deleting
Deleting an entry:
- removes it from the database, so it is no longer retrieved;
- removes its text from the saved context of every task that was given it, including tasks that are paused or still running.
What remains, and why:
- An audit line per task that was given the entry: the entry's title and the time. This is the record of what influenced a task. Tick Also remove the title from task records when deleting to replace the title with "[deleted entry]".
- Anything the model wrote in those tasks, such as answers and artifacts, which may reflect the entry.
- Backups of the database taken before the deletion.
Disabling an entry keeps it but takes it out of retrieval.