feat(search-ui): grounded AI answer card with citation chips#939
Open
seonghobae wants to merge 1 commit into
Open
feat(search-ui): grounded AI answer card with citation chips#939seonghobae wants to merge 1 commit into
seonghobae wants to merge 1 commit into
Conversation
Surfaces /api/search/answer in the Search workspace: an answer card above the result detail with the grounded answer, provenance label, and citation chips that activate the cited email in the result list. Graceful by design: the card is an enhancement — when the answer endpoint is unavailable or returns no answer, the card hides and search behaves exactly as before (verified: all pre-existing search page tests pass unchanged with the endpoint 404ing). State updates only happen in promise callbacks (react-hooks/set-state-in-effect compliant); empty queries hide the card via a render guard. Tests: new page test renders the card (answer + citation chip + provenance) and asserts the POST body; existing 5 tests green; eslint + tsc clean. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_017RkKdtHRLG4wSLh6PVsp8J
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.
What (pairs with #938 — makes the moat demoable end-to-end)
Surfaces
/api/search/answerin the Search workspace: an AI 답변 card with the grounded answer, provenance label, and citation chips that activate the cited email in the result list.Graceful by design
The card is an enhancement: when the answer endpoint is unavailable (e.g. #938 not merged yet) or returns no answer, the card hides and search behaves exactly as before — verified by the pre-existing 5 search page tests passing unchanged with the endpoint 404ing. Safe to merge independently of #938 in either order.
Compliance
State updates only in promise callbacks (
react-hooks/set-state-in-effect); empty queries hide via render guard.Verification (local)
🤖 Generated with Claude Code