memos/CONTEXT.md
amblued cdd13ca24e feat(spaces): unify collection scope across resource pages
- Treat All as an unfiltered Space collection while preserving exact Space filters.
- Keep global resources outside remembered Space context and preserve memo navigation origins.
- Surface Space placement consistently across memo, attachment, and visibility UI.
2026-08-26 09:16:28 +08:00

1.6 KiB

Memos

Memos is the note-taking domain centered on short-form memos and the resources attached to them.

Language

Memo ID: The stable internal identity of a memo. It does not change when a memo's public identifier changes. Avoid: Memo UID, slug

Memo UID: The unique public identifier used in a memo resource name and URL. It may be user-defined when the memo is created or generated automatically. Avoid: Memo ID, database ID

Memo resource name: The API identity of a memo in the form memos/{memo UID}. Avoid: Memo ID, content ID

Memo reaction: A response attached to exactly one memo. Reactions are not a generic mechanism for targeting other kinds of content. Avoid: Content reaction, generic reaction, reaction target

Space: An instance-scoped collaboration boundary for accepted members and memo placement. It is not a tenant, folder, or application-wide authorization role. Avoid: Tenant, workspace, group

Space invitation: A pending offer for an existing active Memos user to join a Space with a specified Space role. It grants no membership or Space access until that user accepts it. Avoid: Pending membership, direct add

Space membership: An accepted relationship between an active Memos user and a Space, carrying either the ADMIN or USER Space role. Avoid: Invitation, application role

Memo collection scope: The Space-placement dimension applied to memo and derived-resource collections. It is either all, which adds no Space predicate, or one exact Space. An unassigned Memo remains part of all; unassigned is a placement, not a collection scope. Avoid: Unassigned scope, no-Space collection