Repository navigation
feat(research): add workspace research document CRUD - #256
Merged
Merged
Conversation
- add create/update inputs to the research domain models - persist documents in research_documents with list/get/update/delete/search - validate titles, workspace ids, and content size in ResearchService - expose the five research commands and wire ResearchService into AppState - cover repository persistence and service validation with tests
- add typed research document API and TanStack Query hooks - build the workspace research panel with list, editor, create, and two-step delete - let the Research page select a workspace before managing documents - test list, edit, create, delete, and empty states
- describe the research document commands and Research page in CLAUDE.md - mark research projects and manual document management on the roadmap - update the command table and changelog
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
First M4 slice: research documents can be created and managed per workspace.
Backend
research_documentsCRUD (the 0001 schema already defines the table, so no migration): list by workspace, get, create, update, delete, plus a repository search over title/content.ResearchServicevalidates workspace IDs, document titles (<=200 chars), and content size, and normalizes whitespace-only content to NULL.AppState:list_research_documents,create_research_document,get_research_document,update_research_document,delete_research_document.Frontend
ResearchWorkspacePanel+ editor support create, edit, and a two-step delete with toast feedback; loading, empty, and error states are covered.desktopApi.researchAPI and TanStack Query hooks with invalidation.Sources, notes, PDF/web ingestion, and semantic search remain future work.
Test plan
cargo fmt --checkcargo clippy --all-targets --all-features -- -D warningscargo test --workspace- repository CRUD/search and service validation testspnpm typecheckeslinton changed filesnode node_modules/vitest/vitest.mjs run --pool=forks- 64 tests (5 new research panel tests)pnpm build