Split out from #336 (item C1). Verdict: MISSING (everything is flat). Probably the largest genuine gap in the original issue.
Ask: group chats into projects, with project memory + a per-project knowledge base.
Chats and tasks are flat lists. No project entity, no grouping, no per-project memory. "Project" appears only in unrelated senses:
server.py:2169-2211 — WorkspaceManager.list_dirs() classifies dirs via is_git_repo / is_project. Purely a picker for the workdir dropdown; nothing persisted.
server.py:1686-1693, hypervisor_session.py:856-872 — Claude Code's own on-disk ~/.claude/projects/<escaped-cwd>/ session-log layout. Transcript storage, not a product concept.
- Memory
namespace is conventionally hierarchical (web/src/api/memory.ts:30 shows "user.*,project.*"), and the UI facets by namespace (routes/memory/index.tsx:305) — but the project. prefix is convention only. Nothing auto-scopes, and the new-memory default is hardcoded 'user.' (routes/memory/index.tsx:67).
The nearest thing to per-project memory today is a naming convention maintained by hand. This connects directly to the memory-scoping work in #359 — namespace-aware injection would give projects per-project memory nearly for free. Per-project file association (#357) would also hang off this entity.
Split out from #336 (item C1). Verdict: MISSING (everything is flat). Probably the largest genuine gap in the original issue.
Ask: group chats into projects, with project memory + a per-project knowledge base.
Chats and tasks are flat lists. No project entity, no grouping, no per-project memory. "Project" appears only in unrelated senses:
server.py:2169-2211—WorkspaceManager.list_dirs()classifies dirs viais_git_repo/is_project. Purely a picker for the workdir dropdown; nothing persisted.server.py:1686-1693,hypervisor_session.py:856-872— Claude Code's own on-disk~/.claude/projects/<escaped-cwd>/session-log layout. Transcript storage, not a product concept.namespaceis conventionally hierarchical (web/src/api/memory.ts:30shows"user.*,project.*"), and the UI facets by namespace (routes/memory/index.tsx:305) — but theproject.prefix is convention only. Nothing auto-scopes, and the new-memory default is hardcoded'user.'(routes/memory/index.tsx:67).The nearest thing to per-project memory today is a naming convention maintained by hand. This connects directly to the memory-scoping work in #359 — namespace-aware injection would give projects per-project memory nearly for free. Per-project file association (#357) would also hang off this entity.