Skip to content

rfc(#304): resolve 6 open design questions #314

@memtomem

Description

@memtomem

Context

RFC #304 proposes
nesting memory_dir categorization under a vendor/product hierarchy.
Its body lists open design questions that must be resolved before
any code change (Phase 1 server-side provider field, Phase 2 UI
tree, Phase 3 codex rename) can land.

As of #313, the category vocabulary is locked against silent
expansion (_VALID_PROVIDER_CATEGORIES + import-time assert), so
RFC #304 can stay OPEN indefinitely without contributors pre-empting
its outcome by adding a fourth regex row.

This issue is a working space for those questions. Answer each in
comments; once all have an owner-agreed answer, this issue closes and
RFC #304 is updated with the resolutions before any Phase 1 code PR
begins. The RFC body itself stays as the design document — discussion
happens here to keep it clean as a reference.

Questions to resolve

Numbered so comments can reference by Q#. Statements are verbatim
from RFC #304.

Q1. Axis: vendor vs source. Is the parent level "who made this
tool" (claude, openai, ...) or "who supplied this path"
(user-provided vs provider-provided)? If "source", user is a peer
of claude/openai. If "vendor", user has no natural vendor and
needs either a synthetic user bucket or a mixed tree/flat renderer.

Q2. Where does user live? Top-level peer of the vendor groups,
or an escape-hatch bucket common to all vendors? Peer = simpler tree,
smaller blast radius.

Q3. Wire format. Three options:

  • Keep category: "claude-memory" string, add sibling
    provider: "claude" string (additive, no type change, easy client
    migration).
  • Switch to path-style category: "claude/memory" (single field,
    splits client-side).
  • Switch to category: {provider: "claude", product: "memory"}
    object (most type-strict, largest client diff, breaks existing
    consumers).

Q4. Collapse semantics. Does collapsing a parent hide all
children? Does each child still remember its own collapse state?
What's the default open/closed for parent vs child on first load?

Q5. Group reindex scope. "Reindex group" on the parent = reindex
all children. On a child summary = reindex just that child. Both
present simultaneously, or parent-only when children exist?

Q6. Codex migration. If we adopt a vendor hierarchy, is codex
moved to openai/codex in the same change, deferred (flat
exception), or left at its current name to keep the PR minimal?

Gemini is already marked out-of-scope in RFC #304 and is not
re-opened here.

Not in scope for this issue

Definition of done

Related

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions