Read context from declared dependency projects when work crosses repositories (product + reusable libraries)
Maintainers usually reply within 1 day
Nobody has claimed this yet.
Assessment
- Difficulty
- 5/5
- Estimated time
- Over a week
- Newbie friendliness
- 12/100
Research direction
This is design work, not a starter task. Read #185, #303, #103 and #1463 first to see what was already decided about project scope, and check how .engram/config.json and project_name select the project for a session. Then trace how all_projects search and the project argument on save are handled in the MCP server tools. Done means a maintainer-agreed design for declared, read-only links between projects, with the write rules left unchanged.
Written by the indexing model from the issue text.
Description
Existing Issue Search
- I searched existing issues and will add evidence to a canonical tracker when applicable.
Related, but not the same: #185 (closed as not planned), #303 (all_projects search), #103 (project aliasing), #1463 (move observations between projects). This request is narrower than #185: it does not ask for a new scope or for inheritance.
🔍 Observed Consequence
I work on one product that depends on two reusable libraries. Each one is a separate git repository, and each one maps to its own Engram project. The libraries are meant to be reused by other products later, but today most of their changes come from the needs of the product.
In practice, I open the agent session in the product repository and, from there, I also change the two libraries in the same task. The result:
- Writes land in the wrong project. Memories about a library's internals are saved in the product project, because the session started in the product repository. When I later open a session in the library repository, those memories are not there.
- Reads miss related context. In a product session, decisions saved in the library projects are not visible unless the agent remembers to search those projects one by one.
all_projectsis all or nothing: it also returns memories from unrelated projects on the same machine. - Merging the repositories into one Engram project is not a good fix. It mixes library knowledge with product knowledge. When a second product starts to use the same libraries, the library memories are buried in the first product's project.
💡 Desired Outcome
From a product repository, the agent sees the memories of the product and of the libraries it depends on, and only those, without me listing the projects in agent instructions.
Memories about a library stay in that library's project, even when the change was made from a session that started in the product repository. Each library project stays product-agnostic, so the next product that uses the library gets its memories and not the first product's.
Constraints that I think matter, to stay inside Engram's isolation model:
- The relation between projects is explicit and opt-in, declared by the user. Nothing is inferred.
- Crossing the boundary is read-only. Write rules stay as they are today, unless the user or the agent targets a project on purpose.
- No new scope.
📦 Affected Area
MCP Server (tools, transport)
Release Context
3.3.2
🔄 Workarounds and Constraints
- One shared project (
.engram/config.jsonwith the sameproject_namein every repository). It works for reads, but it mixes library and product knowledge (see point 3). - Agent instructions that tell the agent to search three projects and to pass an explicit
projectwhen it saves. This depends on the agent following the instructions every time. Nothing enforces it, and the default write goes to the session's project. all_projectssearch. It finds the memories, but with noise from unrelated projects.
📎 Additional Context
The same pattern appears with any "product + shared libraries" setup that is split across repositories: one developer, several repositories, and changes that cross repository boundaries in a single task.
- Dominant language
- Go
- Stars
- 7.1k
- Forks
- 729
- Avg merge
- 9h 11m
- Merged PRs (30d)
- 359
Getting set up
Starts the project's dev container in your browser, under your own GitHub account.
- No Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from Gentleman-Programming/engram
-
status:needs-review
Difficulty 2/5 1-3 hours Newbie friendliness 85/100
Gentleman-Programming/engram#2065 ·
Maintainers usually reply within 1 day
-
priority:medium status:needs-review type:feature
Difficulty 2/5 1-3 hours Newbie friendliness 80/100
Gentleman-Programming/engram#863 · 1 comment ·
Maintainers usually reply within 1 day
-
status:needs-review type:feature
Difficulty 5/5 Over a week Newbie friendliness 25/100
Gentleman-Programming/engram#2122 ·
Maintainers usually reply within 1 day
-
status:needs-review type:feature
Difficulty 5/5 Over a week Newbie friendliness 35/100
Gentleman-Programming/engram#2121 ·
Maintainers usually reply within 1 day
-
feat(governance): allow self-contained PRs and retire universal issue and label merge gatesPossibly taken @dnlrsls claimed this 1 day ago. Openstatus:approved type:feature
Gentleman-Programming/engram#2120 · 4 comments · 1 assignee ·
Maintainers usually reply within 1 day
All issues in Gentleman-Programming/engram
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 76/100
Maintainers usually reply within 1 day
-
[flaky test] TestValidatorCommitterDropsEmptyStatusBatch: submits to the mock VC before its stream is registeredPossibly taken @liran-funaro claimed this today. Opencoordinator flaky-test race-condition testing
Difficulty 2/5 1-3 hours Newbie friendliness 83/100
hyperledger/fabric-x-committer#876 ·
Maintainers usually reply within 1 day
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 65/100
garethgeorge/backrest#1426 ·
Maintainers usually reply within 1 day
-
enhancement nav-pilot
Difficulty 2/5 Half a day Newbie friendliness 62/100
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
valkey-io/valkey-operator#549 · 1 comment ·
Maintainers usually reply within 3 days