Repository navigation
First-release polish (spec 020) - #20
Merged
Merged
Conversation
- Suggested questions: generated after indexing by the chat model and kept only when retrieval, as the owner, finds the document confidently; stored on the version, editable by the owner (If-Match), kept on reprocess, skipped in demo mode, never fatal to the run. - Home page: value statement, ask action, suggested questions, corpus summary per language and recent documents (GET /api/documents/suggestions and /summary). - Citation source states: passages and snapshots store a text hash (backfilled in SQL); IDocumentSources says current, newer-unchanged, newer-changed, archived or unavailable; badges and SourcePreview notices with "Open current version". - Chat: rename (PATCH, empty reverts), accent-insensitive search (q), Markdown export, "Copy answer with sources"; ?ask= asks in a new conversation. - Evaluation module (roadmap 5.3): harness reports uploaded by run and judge (--no-upload, upload <report>), admin Evaluation tab with list, detail, comparison and delete. - Accessibility labels, Playwright smoke tests for the new flows, README rewritten for clone-and-run and a French and English demo. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…ast the cosine floor (spec 019) websearch_to_tsquery ANDs every word, so a natural-language question matched almost no passage and hybrid search equalled vector search (baseline variants: R@5 0.86 / MRR 0.84 for both). The question's lexemes are now OR-ed into one tsquery, quoted as they are so nothing stems them twice. While cosine is the gate (reranking off or skipped), the floor also dropped every keyword-only hit below MinScore, the exact-term matches hybrid search exists for. A keyword match now passes the floor when the passage holds at least Hybrid:MinKeywordCoverage (default 0.5) of the question's distinct lexemes; one common word is not evidence. ConfidentScore still applies, so keyword-only evidence is low-confidence. Coverage is a new stage field on the diagnostic endpoint; the setting is shown in the admin configuration and recorded in harness reports. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
fix(retrieval): OR keyword query and coverage-gated floor exemption (spec 019)
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.
Implements spec 020: first-release polish (roadmap Phase 5.3 and Phase 6).
What changes
SuggestedQuestions,SuggestionsStatus), editable by the owner (PUT /api/documents/{id}/suggestions,If-Match), kept on reprocess,skippedin demo mode. A failure never fails the ingestion run.chat?ask=), documents per language, last indexing date, recent documents, README link (GET /api/documents/suggestions,/summary).PassageTextHash, backfilled in SQL by both migrations).IDocumentSourcesreturns current, newer-unchanged, newer-changed, archived or unavailable per citation; badges inCitationItem, notices and Open current version inSourcePreview.PATCH, empty reverts to the first question), accent- and case-insensitive search (q), Markdown export (GET …/export), Copy answer with sources.evaluation). The harnessrunandjudgeupload their report (--no-upload;upload <report>for older ones). Admin Evaluation tab: list with headline metrics, run detail, comparison of two runs, delete with confirmation. Maintainer only; onlysample-scoped reports are accepted.Migrations
SuggestedQuestionsAndPassageHashes: suggestion columns,passages.text_hash(backfilled) and an index on(version_id, text_hash).RenameSearchAndSourceStates:titleup to 200,title_edited,citation_snapshots.text_hash(backfilled),unaccent.InitialEvaluation.All three were applied to an existing dev database.
Verification
dotnet format --verify-no-changesclean.dotnet test --solution RagAssistant.slnx: 1,348 passed.https-demo: 21 passed, 6 of them new. One existing admin smoke test is also fixed: it failed because the inspector shows the question twice.upload(one with its judge result), re-uploaded (replaced), and compared through the API.Not done
🤖 Generated with Claude Code