feat(memory): isolate curated entries by project (#115438)

* feat(memory): scope recall to active projects

* feat(memory): preserve project scope in promotion

* docs(memory): explain project-scoped recall

* fix(memory): chunk curated files per entry

* refactor(memory): narrow project scope internals

* fix(memory): exclude annotations from concept tags

* fix(memory): tighten project isolation boundaries

* fix(memory): preserve project path casing

* fix(memory): prioritize project bootstrap candidates

* docs: refresh memory architecture map

* test(memory): cover project scope schema repair

* fix(memory): complete project isolation paths

* fix(memory): close project ranking checks

* fix(memory): reinitialize search provider before ranking

* fix(memory): tolerate missing bootstrap paths
This commit is contained in:
Peter Steinberger
2026-07-28 23:55:49 -04:00
committed by GitHub
parent 3a81326f47
commit d41a56fca1
70 changed files with 2166 additions and 108 deletions
+2
View File
@@ -259,6 +259,8 @@ export type PluginHookAgentContext = {
sessionKey?: string;
sessionId?: string;
workspaceDir?: string;
/** Run-prepared repository identities; empty when the turn is outside a repository. */
activeProjectKeys?: string[];
modelProviderId?: string;
modelId?: string;
messageProvider?: string;
+2
View File
@@ -30,6 +30,8 @@ export type OpenClawPluginToolContext = {
sessionId?: string;
/** Out-of-band plugin-owned bindings attached by the current run initiator. */
toolBindings?: Readonly<Record<string, unknown>>;
/** Host-prepared repository identities for project-aware tool behavior. */
activeProjectKeys?: readonly string[];
/** Trusted runtime-only authorization for one bounded cross-conversation recall pass. */
conversationRecall?: ConversationRecallContext;
/**