fix(plugins): route UUID project refs consistently across all skills

Codex flagged /basic-memory:remember passing a UUID primaryProject as `project`
(review 4397206729) — the same routing bug already fixed in the hooks and the
share skill. Rather than fix only the flagged spot, audited every project-ref
site and made them all consistent:

- remember: route primaryProject as project_id when it's a UUID (was the flag)
- status: same for the primaryProject-scoped search_notes queries
- setup: same for the schema-seed write to primaryProject

share/SKILL.md and both hooks (session-start, pre-compact) already handle it.
That's now every place the plugin routes to a project ref — a project ref may be
a workspace-qualified name (-> project) or an external_id UUID (-> project_id),
and all six sites detect and route accordingly. Plugin validates.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Signed-off-by: phernandez <paul@basicmachines.co>
This commit is contained in:
phernandez
2026-05-31 11:33:54 -05:00
committed by Paul Hernandez
parent bfee8958ad
commit 1eb4cd154f
3 changed files with 8 additions and 2 deletions
+3 -1
View File
@@ -32,7 +32,9 @@ Capture `$ARGUMENTS` into Basic Memory as a quick note, keeping the user's words
- `directory` = the resolved `rememberFolder`
- `content` = the text
- `tags` = `["manual-capture"]`
- `project` = `primaryProject` if set; otherwise omit it
- Route to `primaryProject` if set: pass it as `project`, or as `project_id` if
it's an `external_id` UUID (a bare UUID in `project` won't route). Omit both if
`primaryProject` isn't set.
Don't overwrite an existing note unless the user explicitly asks.
4. **Confirm** in one line: what was saved and its permalink —
+2 -1
View File
@@ -103,7 +103,8 @@ For each one:
`title` = the schema's title (Session / Decision / Task), `content` = the file's
full contents (including its `---` frontmatter — Basic Memory merges that into the
note's frontmatter, so the `type: schema` + `entity` + `schema` definition land
intact and become resolvable by `schema_validate`), `project` = `primaryProject`.
intact and become resolvable by `schema_validate`), routed to `primaryProject`
(pass it as `project`, or as `project_id` if it's an `external_id` UUID).
### 2. Install the shared skills (if the user opted in)
Run, from the project root:
@@ -32,6 +32,9 @@ This is a quick diagnostic — gather the facts and lay them out; don't over-inv
4. **Active tasks.** `search_notes` with
`metadata_filters={"type": "task", "status": "active"}` — report just the count.
When scoping these queries to `primaryProject`, pass it as `project`, or as
`project_id` if it's an `external_id` UUID (a bare UUID in `project` won't route).
## Present
Lay it out like this (fill in real values; write "—" or a short note for anything