--- id: S02 name: Chat purpose: Ask plain-language questions about one profile or several profiles at once size: 1280x800 --- ## Content and actions - Context bar: chips for each profile in context (✕ removes), "+ Add profile" picker, "Export…" (CSV / JSON / Parquet for the profiles in context; one file per profile). - Conversation: your questions right-aligned, answers left. Answers with several profiles show one column per profile, never a merged total across currencies. - Transaction rows show original currency, rate (amber "@ rate" badge) and the charged amount. Unmasked vendors show the real merchant name; the descriptor (e.g. SQ*) is in the row details. - Answers note any excluded statements ("needs review") with a link to S03. - Any merchant name or category can be corrected inline ("Recategorize…"); the correction is saved on that profile and applied to future statements. - Input at the bottom; Enter sends. - The same conversation runs in any MCP client (Claude Desktop, Cursor); this screen is the built-in version. ## States - Main: `screen.html`. - Empty (profile has no statements): message "No statements yet" with buttons "Upload statements" and "Fetch from Gmail" (both lead to S03 / S04). - Loading: answer bubble with "Reading 47 transactions…" and a stop button. Error: answer bubble "Couldn't answer that. Retry" with the reason in plain words. - First run in a profile: three suggested questions as buttons. ## Notes and open questions - Cross-currency totals need a rate policy; for now we show each currency separately and do not convert. Open: add an optional "convert at statement-date rate" view. ## Change log - Initial design.