Context
One filesystem for project knowledge, memory, learning, code and Skills.
Context lives in the Synoec area sidebar. It shows the current workspace as three roots — Shared, Chats and Projects (one folder per registered project) — and lets you browse, search and import source material that agents can cite. Browsing never switches the active chat or gives an agent access to a sibling project. To see another workspace, switch workspaces first; Context has no selector of its own.
Browse and search
Section titled “Browse and search”| Control | What it does |
|---|---|
| Context tree | The chevron expands or collapses a folder in place; the row opens it. A spinner marks a slow load; a warning icon retries a failed one |
| Search | Opens Search context… for the selected project or Shared; Find runs it, Clear returns to the tree |
| Refresh | Rereads the selected item; what is shown stays until the new copy arrives (Updating…) |
| Location | A breadcrumb such as Shared › skills; select a segment to go up. Click after it, or press ⌘L, to type a synoec://context/ address |
| Copy address | Copies the selected address |
| Preview / Source | For documents and records: readable content, or the original source |
| Details & provenance | Address, revision and kind, the record’s metadata, and a folder’s source listing |
Each item opens as one card with its title, a status line (item count or kind, trust and scope) and its actions. Context keeps what it has read while the Profile and workspace stay the same, so returning to a folder shows the last copy at once while it rereads.
| Folder | Contents |
|---|---|
memories |
Scoped memory: facts, preferences, decisions, handoffs, entities, events. Add memory, Edit memory, Pin, Trust…, Forget…, History |
learning |
Accepted lessons, lessons awaiting review, and history. See Learning |
code |
Every indexed file in the checkout, folder by folder. Folders open from the last finished index while a newer one builds behind them. Code map and Index settings open the Repository views inline |
skills |
Effective Skills: first-party and user Skills under Shared, project sources under a project |
instructions |
Effective project guidance (AGENTS.md, .synoec/instructions.md) |
resources |
Text and document files in the registered checkout, read in place |
library |
Imported originals, extracted sections and generated summaries |
sessions |
Saved conversations; Open source chat jumps to the thread, Commit this chat queues a session commit |
commits |
Session commits: summaries and proposed memory changes to Apply, Dismiss or Revert applied changes |
recall |
What recall chose for your recent turns: who decided, the queries, what was injected, what was left out and why. Your view only |
Shared and Chats show only the folders that apply to them. Chats holds memory and learning shared by the workspace’s Quick Chats. Workspace-level facts stay under Shared and are inherited by chats and projects.
Addresses use workspace and project IDs; code adds a checkout identity. They are in-app addresses; Synoec registers no OS URL handler.
synoec://context/workspaces/<workspace>/shared/skills/<identity>synoec://context/workspaces/<workspace>/projects/<project>/memories/facts/<title>~<id>.htmlsynoec://context/workspaces/<workspace>/projects/<project>/code/<checkout>/<path>Import documents, media and web pages
Section titled “Import documents, media and web pages”- Select a project’s
libraryfolder and choose Import document…. - Pick a Source type:
- Document · local extraction — PDF, DOCX, PPTX, XLSX, OpenDocument, text, HTML and CSV, extracted on this computer with no model.
- Media or scanned PDF · model extraction — sent to the chat’s model; the text is labelled model-derived.
- Web page · HTTPS snapshot — a fetched snapshot of an HTTPS URL.
- Enter the Project file or Source URL and choose Import snapshot.
From resources, Keep snapshot in library (or Extract media to
library) imports a checkout file. The original stays in place; the library
keeps a revisioned copy with section locations and digests.
On a library item or folder:
- Generate summary / Generate overview use the chat’s model and count as ordinary provider usage. Changing the source or the model invalidates the cached result.
- Find durable memories drafts memory candidates that quote the source exactly. They stay out of recall until you trust them, and drop out again if the source changes, is removed or loses its disclosure grant.
- Remove from library deletes the snapshot (revision-checked).
The context index
Section titled “The context index”Searching Context without choosing a folder reads the context index: one row per memory, lesson, Skill, instruction file, library document, session commit and upper code folder, each with a one-sentence abstract and an overview. Matches combine word search, semantic similarity and exact code matches. Semantic similarity uses Context embeddings from Settings → Memory: local MiniLM by default, or your configured embedding API, which then receives these items and queries. Each embedding identity builds its own index; if embedding is unavailable, search is lexical.
The index is derived. It is rebuilt from its sources as needed and never replaces them. Listings show abstracts; open an item for its full text. Imported documents without a summary get one in the background from the chat’s model, at most two per pass and 20 per engine process.
How agents use Context
Section titled “How agents use Context”Agents call ContextList, ContextOpen and ContextSearch under normal tool policy, and ContextIngest for imports. Their view holds only their own project and Shared: no review-pending memories, unaccepted lessons, forgotten records, sibling projects or other chats’ transcripts. Skills are discovered here but loaded through SkillRead. To see what fills a chat’s context window, open Context in the thread rail.
Recall before each turn
Section titled “Recall before each turn”Every Context step is automatic; there is nothing to switch on. Before each turn Synoec plans what to recall from the context index. By default fixed rules search memories, accepted lessons and library documents with the prompt. Each item must clear a relevance bar, so recall is often empty. The top two arrive with their overview, the rest as one-sentence abstracts with their Context address, all within one shared budget. A memory already recalled earlier in the chat is not sent again, and a notice or thread message in a chat that already has turns recalls nothing.
No hosted model runs before the turn. Once the local GLiNER2.5-Decide model is
on this computer, it decides whether a turn needs recall and reranks the
candidates. Synoec downloads it (about 1.95 GB) once in the background; until
it is ready, and whenever a stage takes longer than 1.5 seconds, the rules
decide. The whole step has 5 seconds. The model answering the turn can search
for more with ContextSearch. A new engine reads the rows an earlier sync left
while its own refresh runs. Only an index that has never been filled falls back
to the earlier per-source recall, and the turn’s notice says why, including a
sync that failed. Each turn’s record appears under recall, the fallback’s too.
Conversation recall keeps what you wrote and the answer you saw, never a Persona’s internal draft, in pieces that end at a paragraph, sentence or word. At most two pieces of one answer arrive in a turn.
Under a finished answer, a row counts every distinct thing its turns recalled, in one of a few phrasings such as Dusted off 3 things or 3 things rang a bell; open it to see them. When a session commit lands, the last turn it covered shows Jotted down 2 notes, plus any still waiting for review.
Learning
Section titled “Learning”Learning turns a correction, procedure or reusable tool experience from a chat into a reviewed lesson, and proves it helps before it guides later work. Every lesson is drafted with test cases, run against a no-lesson baseline and accepted by you. Accepted lessons are recalled as advice through the same recall step; they never change model weights or grant tool authority. Learning needs workspace memory.
Review a lesson in a chat
Section titled “Review a lesson in a chat”When you correct the agent, say “learn from this”, or finish reusable tool work, the agent may propose a lesson. A Learn from this? card appears under Learning in this chat, with Why this was suggested and its evidence.
- Choose Review lesson & cases.
- Check the drafted cases. Each has a Task prompt, optional fixture files (Add fixture file) and checks: Answer contains, Answer excludes or File exactly equals. Use Add check and Add independent case to strengthen weak drafts.
- Choose Run reviewed cases. Each case runs twice with the chat’s model, without and with the lesson, in a disposable project. Your files are not copied or edited. Runs count as provider usage.
- When the card shows Ready to accept, review the results and choose Accept lesson, or No thanks to reject it.
Cancel validation stops a run; Return to task goes back to the composer without resending anything. Find earlier lessons from this chat loads older ones. Acceptance requires a measured improvement over the baseline, no regressions and every advised case passing; a failed or cancelled run leaves the lesson inactive.
Manage lessons
Section titled “Manage lessons”Open the learning folder here, or Repository → Learning (Project
Learning), to see proposals, accepted lessons and history. From a lesson you
can Open Source Chat, Accept, Reject, or Forget… to remove its
content and history. Project lessons stay with their project and are never
published to Shared automatically; Quick Chats share Chats learning.
A newer lesson supersedes the one it replaces; forgetting it does not revive
the old one. Older proposals without drafted cases are validated with a
reviewed JSON suite through Validate… or synoec learning validate.
Learned Skills
Section titled “Learned Skills”A lesson drafted as a Skill can be exported once accepted, with Export as
native Skill… or synoec learning export-skill. Export requires saved
validation with held-out transfer, regression and boundary cases.
Knowledge, procedure and experience lessons stay recalled advice and cannot be
exported; the desktop says why instead of offering the button.
synoec context fs uses the same service. Without a URI it targets the current
project (or Chats), and imports go to its library.
synoec context fs import docs/guide.pdfsynoec context fs import-web https://example.com/guidesynoec context fs search deployment --jsonsynoec context fs read synoec://context/workspaces/<workspace>/projects/<project>/library/<item>synoec context fs remove <uri> --revision 4Actions: list, read, search, discover, import, import-media,
import-web, summarize, directory-summary, extract-memories, remove,
commit-now, commit-apply (with --operations 0,2), commit-dismiss and
commit-revert.
synoec learning list --jsonsynoec learning show LESSON_IDsynoec learning accept LESSON_ID --revision 2synoec learning forget LESSON_ID --revision 3synoec learning validate LESSON_ID --revision 1 --suite reviewed-suite.jsonsynoec learning export-skill LESSON_ID --output ./exported-skillLearning also has history and reject. Use the revision show prints;
--session and --branch select a chat’s learning. Ctrl-C interrupts a
validation you started, and an interrupted run is never repeated automatically.
Limits
Section titled “Limits”- Listings page at 100 entries; a changed collection rejects continuation.
- Local sources up to 16 MiB, web snapshots up to 2 MiB, at most 2,048 sections. Archives, encrypted and malformed files fail without replacing an earlier snapshot.
- Code maps are bounded and report partial coverage. HTML previews run no scripts, events or remote resources.
- Correction cues are suggestions; not every correction is detected. A finite case suite shows observed outcomes, not general correctness. Lesson cases and fixtures are limited to 96 KiB, with two minutes per case.
- Lessons and memories bound to a source drop out of recall when it changes.
- Profiles choose models and recall disclosure; they are not users or file permissions. Per-resource grants and a multi-user knowledge service are on the roadmap.
Related
Section titled “Related”- Workspaces and memory — scopes, session commits, MemPalace, sync
- Repository — Code Index and codebase views
Decisions behind this page: 0171, 0201, 0207 — see the decisions index.