Branch: feature/rag-ui-completion
Base: develop
Reference Doc: docs/RAG_REMAINING_IMPLEMENTATION.md
| Task | Status | Commit |
|---|---|---|
| Task 1.1-1.2: Intent badge + mode indicator | ✅ COMPLETE | 9f82cce |
| Task 1.3: Intent override dropdown | ✅ COMPLETE | 9f82cce |
| Task 2.2: Language stats API endpoint | ✅ COMPLETE | b517ad3 |
| Task 2.1+2.3: Language badges + chunking quality | ✅ COMPLETE | b517ad3 |
| Task 3: Accessibility audit | ✅ COMPLETE | 9167c61 |
| Task 4: API documentation | ✅ COMPLETE | 19a7854 |
| Task 5: MMR placeholder UI | ✅ COMPLETE | 85412db |
Files Modified:
-
apps/web/src/types/index.ts(+65 lines)- Added
QueryIntenttype (6 intent types) - Added
QueryIntentInfointerface (type, confidence, auto_detected, signals) - Added
SearchDiagnosticsinterface (weights, scores, timing) - Extended
SearchMetadatawithintentanddiagnosticsfields
- Added
-
apps/web/src/pages/SearchPage.tsx(+170 lines, -16 lines)- Added imports:
Code2,FileText,GitCompare,Lightbulb,LucideIcon - Added
INTENT_CONFIGobject mapping intents to icons/labels/colors - Added
IntentIconcomponent - Added
intentOverrideURL param reading - Updated query key to include
intentOverride - Updated
apiClient.performSearch()call with intent parameter - Added
handleIntentChangehandler - Added intent badge display in results summary
- Added intent override dropdown in Advanced Settings
- Added search configuration details panel in Advanced Settings
- Added focus-visible ring to MMR toggle for accessibility
- Added imports:
-
apps/web/src/lib/api.ts(+8 lines)- Added
intentOverride?: string | nullparameter toperformSearch() - Added
body.intent = intentOverridewhen provided
- Added
Commit: 9f82cce - ✅ COMMITTED
Files Modified:
-
apps/server/src/routes/collections.ts(+60 lines)- Added import for
analyzerRegistryandcalculateChunkingQualityfrom registry - Added
GET /api/collections/:id/language-statsendpoint - Queries documents for file extensions from metadata or file_path
- Maps extensions to
LanguageSupportStatusviaanalyzerRegistry.getLanguageSupportStatus() - Includes file count and chunking quality per language
- Added import for
-
apps/web/src/lib/api.ts(+15 lines)- Added
LanguageSupportStatusimport - Added
getCollectionLanguageStats()method returning{ languages: LanguageSupportStatus[] }
- Added
-
apps/web/src/types/index.ts(+10 lines)- Re-exported language support types from
@synthesis/shared:LanguageSupportStatus,LanguageSupportLevel,ParserTypeAnalyzerCapabilities,FrameworkInfo,DocumentLanguage,DocumentFramework
- Re-exported language support types from
-
apps/web/src/components/CollectionCard.tsx(+15 lines)- Added
useQueryimport - Added
CollectionLanguageSummaryimport from./LanguageSupportBadge - Added query for language stats with 5-minute stale time
- Added language badges display between description and timestamp
- Added
-
apps/web/src/pages/CollectionView.tsx(+45 lines)- Added
CollectionLanguageSummaryimport - Added query for language stats
- Added
overallChunkingQualitycalculation (weighted by file count) - Added "Languages Detected" section with badges
- Added chunking quality progress bar (color-coded: green/yellow/red)
- Added
Commit: b517ad3 - ✅ COMMITTED
Files Modified:
-
apps/web/src/pages/SearchPage.tsx- Added sr-only label for search input
- Added
aria-expandedandaria-controlsto Advanced Settings toggle - Added
aria-hiddento decorative chevron icons - Added
aria-valuetextto MMR lambda slider for screen reader feedback - Added
focus-visiblerings to Advanced Settings toggle
-
apps/web/src/components/CollectionCard.tsx- Added
aria-labelto selection checkbox - Added
aria-expandedandaria-haspopupto menu button - Added
aria-hiddento MoreVertical and Trash2 icons - Added
focus-visiblerings to all buttons (menu, delete, confirm, cancel, view, chat)
- Added
-
apps/web/src/components/DocumentList.tsx- Added
focus-visiblerings to document checkboxes - Added
aria-hiddento FileIcon decorative icon - Added
focus-visiblerings to Edit link and Refresh button - Added
aria-busyto Refresh button during loading - Added
aria-hiddento Edit2 and RefreshCw icons - Added
focus-visiblerings to "Select all" checkbox
- Added
-
apps/web/src/components/UploadZone.tsx- Added
aria-labelandaria-describedbyto drop zone button - Added
focus-visiblering to drop zone - Added
aria-hiddento Upload icon - Added
aria-labelto hidden file input - Added dynamic
aria-labelto remove file buttons - Added
aria-hiddento X icon - Added
focus-visiblerings to Clear All and Upload buttons
- Added
Commit: 7cdd938 - ✅ COMMITTED
Files Created:
docs/API.md(~350 lines)- Complete Search API documentation with all request/response parameters
- Intent types table with search mode configurations
- MMR options and configuration
- Collections API endpoints (list, get, create, delete, documents, language-stats)
- Ingest API for document upload
- Health check endpoint
- Curl examples for all common use cases
- Environment configuration reference
Commit: 624a233 - ✅ COMMITTED
Files Modified:
apps/web/src/pages/CollectionView.tsx(+25 lines)- Added "Coming Soon" placeholder section for per-collection MMR defaults
- Displays disabled toggle and lambda slider placeholders
- Uses opacity-60 and pointer-events-none for visual disabled state
- Shows "Coming Soon" badge
Commit: 260c222 - ✅ COMMITTED
The branch is now ready for PR review and merge to develop.
On branch feature/rag-ui-completion
5 commits ahead of develop
260c222 feat(web): add MMR collection defaults placeholder UI
19a7854 docs: add API documentation for search endpoints
9167c61 fix(web): improve form accessibility and keyboard navigation
b517ad3 feat: integrate language support badges into collections
9f82cce feat(web): add query intent UI with badge, mode indicator, and override
Last Commit: 85412db - feat(web): add MMR collection defaults placeholder UI
Typecheck: ✅ Passing
- Parent Doc:
docs/RAG_AND_MODEL_SELECTOR_IMPLEMENTATION_PLAN.md - Reference Doc:
docs/RAG_REMAINING_IMPLEMENTATION.md - Existing Language Badge Component:
apps/web/src/components/LanguageSupportBadge.tsx - Analyzer Registry:
apps/server/src/pipeline/analyzers/registry.ts
- DO NOT PUSH to remote - commits only, user will push
- Backend for Phases 12-14 is complete, this is primarily frontend work
- The
LanguageSupportBadge.tsxcomponent already exists and is fully implemented - Follow commit strategy in plan file (one commit per task area)