Summary
Permalinks are scoped only by project name, not by workspace. When the same project name exists in multiple workspaces (e.g., the auto-provisioned getting-started and main in both Personal and an organization workspace), permalinks for notes in those projects are byte-identical across workspaces. The only reliable disambiguator is project_id — but several tools and surfaces only have the permalink.
Reproduction
Account has two workspaces: Personal (default) and drew cain (organization). Both auto-provision getting-started and main projects.
Create a note in drew-cain/getting-started:
- returned permalink:
getting-started/notes/org-endpoint-smoke-test
Create a note with the same title in personal/getting-started and you get the identical permalink. Tools that only take a permalink (e.g., fetch) cannot tell which one you mean and silently resolve to whichever project is the default.
Why this blocks teams launch
Once orgs are GA, every account starts with two getting-started projects (one per workspace) and two main projects. Any feature that surfaces a permalink (UI, sharing, citations, agent context) becomes ambiguous on day one. URLs/links shared with teammates may resolve to the wrong note.
Expected
Permalinks should embed the workspace slug (or tenant identifier), e.g.:
personal/getting-started/notes/org-endpoint-smoke-test
drew-cain/getting-started/notes/org-endpoint-smoke-test
Or — keep the current format internally but expose a workspace-qualified canonical URL/permalink in any user-facing or cross-tool API surface.
Summary
Permalinks are scoped only by project name, not by workspace. When the same project name exists in multiple workspaces (e.g., the auto-provisioned
getting-startedandmainin both Personal and an organization workspace), permalinks for notes in those projects are byte-identical across workspaces. The only reliable disambiguator isproject_id— but several tools and surfaces only have the permalink.Reproduction
Account has two workspaces:
Personal(default) anddrew cain(organization). Both auto-provisiongetting-startedandmainprojects.Create a note in
drew-cain/getting-started:getting-started/notes/org-endpoint-smoke-testCreate a note with the same title in
personal/getting-startedand you get the identical permalink. Tools that only take a permalink (e.g.,fetch) cannot tell which one you mean and silently resolve to whichever project is the default.Why this blocks teams launch
Once orgs are GA, every account starts with two
getting-startedprojects (one per workspace) and twomainprojects. Any feature that surfaces a permalink (UI, sharing, citations, agent context) becomes ambiguous on day one. URLs/links shared with teammates may resolve to the wrong note.Expected
Permalinks should embed the workspace slug (or tenant identifier), e.g.:
personal/getting-started/notes/org-endpoint-smoke-testdrew-cain/getting-started/notes/org-endpoint-smoke-testOr — keep the current format internally but expose a workspace-qualified canonical URL/permalink in any user-facing or cross-tool API surface.