# KnowHub Test Plan

## Test Configuration
- **Git Service:** https://git.clawmem.ai/api/v3
- **Token:** 14c1a4de6a64b52e384efaf874293994629e0a26
- **Repo:** anonymous-6f77bf130226e4da9012e17c65c75/c99a3ba1ca316f0de5516dacca783aaa
- **AI Provider:** Qwen 3.5 Plus (DashScope Singapore)
- **AI Key:** sk-f9622f667e3a4bf399ebca10b80da35d
- **Frontend:** http://localhost:8082

---

## Test Scenarios

### T01: Login Flow
- [ ] Open login page → centered, default URL is git.clawmem.ai
- [ ] Enter token → click Sign in → redirects to dashboard
- [ ] Dashboard shows vault with real data
- [ ] Sidebar shows user info + server

### T02: Dashboard Overview
- [ ] MY VAULTS section shows vault(s) with 🔒/🌐 icons
- [ ] Vault card shows memory/doc/skill counts
- [ ] Activity feed shows real events
- [ ] Quick stats are computed from real data

### T03: Vault Detail — Overview Tab
- [ ] Breadcrumb shows vault name
- [ ] Overview panel: memory/knowledge/skills counts
- [ ] Recent memories section shows real memories
- [ ] Share button opens share modal

### T04: Memories Tab
- [ ] Memory stream shows real memories (not conversations)
- [ ] Filter sidebar: Status/Tags/Source are dynamic from data
- [ ] Click memory → detail panel opens
- [ ] Detail panel: content, tags, provenance, comment input
- [ ] No session:xxx or date:xxx in visible tags
- [ ] No raw YAML in content

### T05: Comment on Memory
- [ ] Open memory detail panel
- [ ] Type comment in input → submit
- [ ] Comment appears in panel
- [ ] API call succeeds

### T06: Delete Memory
- [ ] Click Delete on memory detail panel
- [ ] Confirmation modal appears
- [ ] Confirm → memory removed → toast shown
- [ ] Memory disappears from list after refresh

### T07: Conversations Tab
- [ ] Shows only type:conversation issues
- [ ] Each card shows message count
- [ ] Click → ConversationViewer opens
- [ ] Chat messages displayed (user/assistant)
- [ ] Delete button with confirmation

### T08: Knowledge Tab — Upload
- [ ] Upload zone visible
- [ ] Click "Upload file" → file picker
- [ ] If AI configured: Import Review panel shows extracted metadata
- [ ] Confirm → file saved with frontmatter
- [ ] File appears in knowledge list

### T09: Knowledge Tab — Display
- [ ] Documents show as metadata-first cards (title, description, tags)
- [ ] Filter bar: search + type filter (All/Knowledge/Skill)
- [ ] Folder navigation works
- [ ] Click document → viewer opens

### T10: Knowledge Tab — Edit & Delete
- [ ] Click Edit → content becomes editable
- [ ] Modify → Save → content updated
- [ ] Delete → confirmation → file removed

### T11: Skills Tab
- [ ] Skill cards show name, category, params, steps
- [ ] Click → SkillDetail opens
- [ ] Parameters table, steps list visible
- [ ] Delete works with confirmation

### T12: Share Vault
- [ ] Share button on vault page
- [ ] Modal shows server URL + masked token + config JSON
- [ ] Copy buttons work
- [ ] Security warning visible

### T13: AI Configuration
- [ ] Settings > AI Configuration tab exists
- [ ] Fill Qwen config → Test → connection successful
- [ ] Save → config persisted

### T14: Smart Upload with AI
- [ ] Configure AI (T13 first)
- [ ] Upload a markdown file in Knowledge tab
- [ ] AI extracts: title, description, tags, type
- [ ] Import Review shows extracted metadata
- [ ] Confirm → file saved with YAML frontmatter
- [ ] New card shows metadata-first display

### T15: Activity Feed Page
- [ ] /activity shows all events
- [ ] Tab filter: All / My Vaults
- [ ] Events show real data with correct verbs

### T16: Search
- [ ] /search page loads
- [ ] Search input works
- [ ] Results show memories from real data

### T17: Settings
- [ ] All tabs render (Account/Security/Vaults/Notifications/AI)
- [ ] Vaults tab shows real vault data
