feat(learn): an assistant explains a card missed and checks what was written

A conversation has a task (ADR 0021, D14): asking, explaining a card or
checking what was written, which the system prompt says and the history
shows. Rating a card Bad offers Explain in a snack bar lifted above the
ratings (D53); a reading typed wrong asks Why? (D54), and the field's
Check has the text checked in the studyset's language, the answer in the
app's (D54). Explaining sends the card's own parts, in a conversation
named by its front.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Signed-off-by: Tizian 「ティツィアーン」 <raisondetredev@pm.me>
This commit is contained in:
Tizian 「ティツィアーン」 2026-10-25 21:16:44 +01:00
commit 8ba758c020
Signed by: raisondetredev
GPG key ID: 07F6FCF405488B64

View file

@ -10839,6 +10839,18 @@ abstract class AppLocalizations {
/// **'Ask an assistant in the field below.'**
String get assistantHistoryEmptyHint;
/// A conversation that explained a card missed (D53, D54).
///
/// In en, this message translates to:
/// **'Card explained'**
String get assistantHistoryExplained;
/// A conversation that checked what was written (D54).
///
/// In en, this message translates to:
/// **'Checked for mistakes'**
String get assistantHistoryChecked;
/// No description provided for @assistantHistoryDelete.
///
/// In en, this message translates to:
@ -11012,6 +11024,42 @@ abstract class AppLocalizations {
/// **'Take back'**
String get studysetPrivacyTakeBack;
/// After a card was rated Bad (ADR 0021, D53); name is the assistant's.
///
/// In en, this message translates to:
/// **'Missed it? {name} can explain why.'**
String studyMissedExplain(String name);
/// Has an assistant explain a card missed.
///
/// In en, this message translates to:
/// **'Explain'**
String get assistantExplain;
/// The question an assistant is asked about a card missed.
///
/// In en, this message translates to:
/// **'Why is this the answer?'**
String get assistantExplainQuestion;
/// Asks an assistant why a reading typed is wrong (D54).
///
/// In en, this message translates to:
/// **'Why?'**
String get studyTypedWhy;
/// The question an assistant is asked about a reading typed wrong.
///
/// In en, this message translates to:
/// **'I typed “{typed}”. Why isn\'t that right?'**
String assistantWhyTyped(String typed);
/// Has an assistant check what was written in the field (D54).
///
/// In en, this message translates to:
/// **'Check for mistakes'**
String get assistantCheck;
/// No description provided for @settingsSearchEngine.
///
/// In en, this message translates to: