The "ask it" mode of the report (design-chat-lens.md §4) lives in the Quotes lens: a floating micro-affordance opens a bottom query bar; the answer lands as claims over the researcher's real quote cards — stars, tags, section headings, filter chips all reused. Query → select the best → tag it into the analysis.
artefact — what ships commentary — why, and what it costs
Palette
state 1 · Quotes lens, ask affordance closed
⌕ Search quotes…All quotes ▾
Homepage
The IKEA homepage where users land and orient themselves before navigating to a product category.
☆
[00:13]
“This page gives me a choice of go shopping and is that ikea.co.uk or what else… a whole lot of non-shopping things — storage ideas, editorial videos. But we just want to go shopping.”p2 · Fred
confusion+
★
[02:41]
“I scrolled past the ideas bit twice before I spotted the yellow go-shopping button.”p4
frustration+
Ask ⌘K
state 2 · ⌘K or click — bottom query bar, page stays live behind it
Homepage
The IKEA homepage where users land and orient themselves before navigating to a product category.
☆
[00:13]
“This page gives me a choice of go shopping and is that ikea.co.uk or what else… a whole lot of non-shopping things.”p2 · Fred
where did people get lost in the navigation
answers from this project's quotes only · ~31k tokens to Claude on your keywhat frustrated people?what delighted?
state 3 · answer = a filtered view of the researcher's own cards; select → tag
⌕ Search quotes…ask: “where did people get lost…” ✕All quotes ▾
AI ANSWER2 claims · 4 cited quotes · Claude · 6.2s · answer is not saved with the project
Participants recovered by falling back to the top navigation once the homepage failed them supported
3 quotes · 2 participants
in · Homepage
☆
[00:13]
“…a whole lot of non-shopping things — storage ideas, editorial videos. But we just want to go shopping, which at least is… it's a big yellow sign.”p2 · Fred
confusion+
in · Top Navigation
★
[00:12]
“…oops, I don't need that. Beds and mattresses. That's easy. That's in the top navigation.”p1
confidence+
☆
[00:12]
“…that's easy. That's in the top navigation.”p4
confidence+
Editorial content competed with the shopping entry point for first-time visitors check citations
1 quote · 1 participant · the support check couldn't confirm this citation carries the claim — read it yourself
in · Homepage
☆
[02:41]
“I scrolled past the ideas bit twice before I spotted the yellow go-shopping button.”p4
frustration+
2 selected
Commentary — placement A
What the answer is: a transient filtered view of the lens itself. The cited quotes are the researcher's actual cards — same star, same tag chips, same inline edit — grouped under their real section names, with the query shown as a removable filter chip in the existing filter row. Claim text is the only new content on the page and is visually segregated (accent band + mono AI ANSWER label) so model prose can never be mistaken for the researcher's own findings — the §5 harm. Dismissing the chip (or ✕, or Esc) restores the full lens; the answer is deliberately not persisted in v1.
New elements (flagging per the no-invention rule): ask pill, bottom query bar, claim band, per-card select checkbox, result toolbar. Everything else on the page is the shipped design system.
The workflow the layout buys: query → scan claims → select the cards that genuinely carry the finding → Tag as… mints/applies a tag → the finding is now part of the codebook, filterable, exportable, clippable. The AI's claim text evaporates; the researcher's curation persists. That is analysis, not chat.
Two text inputs, one page: search (lexical, free, instant) vs ask (LLM, costs tokens, seconds). Kept far apart: search top-left as shipped, ask bottom-right + ⌘K, with the cost line in the bar. Do not merge them into one field — an accidental 31k-token search is the wrong surprise.
Non-modal: the bar floats over a live page (no scrim); Esc closes. Matches the native-everywhere/non-modal house rule.
Implementation: SPA-only — no Swift, no lens registration; identical in browser and WKWebView. The ask endpoint exists (/api/dev/chat-lens/ask → promote out of /dev); cited ids are the same DOM ids the lens already renders, so "answer as filter" is a store-level filter set + claim bands, reusing QuoteGroup/QuoteCard. Bulk tag/star = existing PUT endpoints; needs an undo toast (see design-undo-debt.md). i18n: ~12 new strings × 20 locales; desktop ⌘K via existing key routing, menu item optional later.
Open questions: does the answer survive switching lenses (proposal: no — chip dies on navigation, cheap and honest)? does ⌘K clash with anything shipped (audit needed)? where does the three-way abstention message render (proposal: in place of the first claim band, coaching copy per reason)?
What the answer is: a transient filtered view of the lens itself. The cited quotes are the researcher's actual cards — same star, same tag chips, same inline edit — grouped under their real section names, with the query shown as a removable filter chip in the existing filter row. Claim text is the only new content on the page and is visually segregated (accent band + mono AI ANSWER label) so model prose can never be mistaken for the researcher's own findings — the §5 harm. Dismissing the chip (or ✕, or Esc) restores the full lens; the answer is deliberately not persisted in v1.
/api/dev/chat-lens/ask→ promote out of/dev); cited ids are the same DOM ids the lens already renders, so "answer as filter" is a store-level filter set + claim bands, reusing QuoteGroup/QuoteCard. Bulk tag/star = existing PUT endpoints; needs an undo toast (see design-undo-debt.md). i18n: ~12 new strings × 20 locales; desktop ⌘K via existing key routing, menu item optional later.