Allow operator settings.yaml to configure the default per-project memory store
@jbeda is already working on this.
Since Sep 3, 2026.
- Dominant language
- Go
- Stars
- 152
- Forks
- 16
- Avg merge
- 14h 48m
- Merged PRs (30d)
- 536
Description
Problem
Embedded mecatui enables project memory by default, but the project-memory directory can be changed only per invocation with --memory-dir. The default derives one isolated store from each exact workspace path:
text ~/.local/share/mecatui/memory/-home-jbeda-src-mecatl ~/.local/share/mecatui/memory/-home-jbeda-src-mecatl-2 ...
This makes a set of local Git worktree/agent slots for the same project receive separate project memory. There is currently no operator-owned YAML setting to configure a shared store for that set. ~/.config/mecatui/settings.yaml is client UI configuration; ~/.config/mecatl/settings.yaml is the appropriate operator-owned server configuration, but it does not currently expose this setting. A project-local .mecatl/settings.yaml should not control a host persistence path.
Requested behavior
Add an operator-tier key in /mecatl/settings.yaml that sets the default local project-memory directory (or a documented per-workspace mapping/override). It should apply only to embedded/local server composition, with explicit --memory-dir retaining higher precedence and --no-memory still disabling memory.
The immediate use case is intentionally sharing one file-backed store across several local worktrees/agent slots of the same Mecatl repository, while leaving ordinary repositories on their existing per-path default.
For example, an operator should be able to configure a single store such as:
text ~/.local/share/mecatui/memory/mecatl-slots
without maintaining a separate wrapper command solely to pass --memory-dir.
Design constraints
- Operator/global configuration only; do not accept this from project-tier settings.
- Treat the configured path as a local persistence destination, never as workspace/placement authority.
- Preserve the current default when unset:
/mecatui/memory/<full-workspace-path-slug>. - Define clear precedence:
--no-memory> explicit--memory-dir> operator setting > computed default. - Validate and report configuration errors without leaking sensitive config values.
- A mapping/pattern form may be preferable to one global directory if the design wants to avoid unintentionally merging unrelated projects; the minimal useful form can be a single operator-selected default directory.
Contributor 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.
Assessment
This issue has not been assessed yet.