feat(web): add GraphSearch view with FTS5 search and type filtering master
Implements Graph Search interface with full-text search capabilities: SearchResult.svelte: - Compact card showing node type badge, status badge, title, description - Node type-specific colors (goal=purple, task=blue, decision=pink, etc.) - Truncates description to 150 chars with ellipsis - Click handler navigates to appropriate view based on node type: - goal/task → task-tree view - decision/option → decision-graph view - observation/outcome/revisit → task-tree view - Uses button element for a11y compliance GraphSearch.svelte: - Search bar with text input and search button (Enter key support) - Filter bar with toggles for node types: All, Goals, Tasks, Decisions, Options, Outcomes, Observations, Revisits - Results list showing matching nodes with result count - Empty states for no query, no results, or project not selected - Requires project selection (prompts user to select first) - Integrates with search store (query, results, nodeTypeFilter, loading, error) Updates App.svelte to import and render GraphSearch for graph-search route Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>