Skip to content

[L2-06] Add isolated local workspaces #40

Description

@dkritarth

Outcome

Support multiple local research libraries with explicit switching and no data leakage.

Dependencies

Blocked by #39.

Scope

Choose and document workspace model before migration. Create/list/rename/switch workspace; isolate DB and paper roots; handle active chats/sessions during switch. No cloud synchronization.

Acceptance criteria

  • Workspace identity and data-root rules are explicit and path-safe.
  • Create/switch/rename works and survives restart.
  • Papers, collections, notes, highlights, chats, and trash remain isolated.
  • Switching disposes or safely rebinds ACP sessions and UI tabs.
  • Existing single-workspace data migrates without loss.
  • Invalid/missing workspace path degrades safely.
  • Two-workspace live isolation test passes.

Live verification

Create two workspaces, ingest distinct papers, create same-named collections/notes, switch repeatedly, restart, verify isolation, test switch during open chat, inspect files and console.

Required evidence

Focused PR uses Closes #40. Provide failing test/baseline, focused and full tests, typecheck, build, diff check, exact live Electron steps, screenshots where applicable, console state, restart/persistence result, and limitations. Reviewer independently exercises live behavior.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:electronElectron main, preload, IPC, or live app workarea:storageSQLite schema, migrations, or persistencearea:uxUser-facing workflow or interfacephase:2-libraryPhase 2: durable research organizationstatus:in-progressImplementation PR exists or work is actively claimed

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions