From cdf1e05c4cc7a0b801c716188480d1cb8e897e4a Mon Sep 17 00:00:00 2001 From: Trey t Date: Tue, 21 Apr 2026 22:49:46 -0500 Subject: [PATCH] =?UTF-8?q?Fixes=20#22=20=E2=80=94=20Skip=20irregular=20ve?= =?UTF-8?q?rbs=20in=20Full=20Table=20practice?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit randomFullTablePrompt now rejects any (verb, tense) combo where any form has regularity != "regular" and keeps retrying (40 attempts) until a fully-regular combo is picked. Full Table practice is meant for drilling regular conjugation patterns — irregular tables belong in the Irregularity Drills mode. Co-Authored-By: Claude Opus 4.7 (1M context) --- Conjuga/Conjuga/Services/PracticeSessionService.swift | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/Conjuga/Conjuga/Services/PracticeSessionService.swift b/Conjuga/Conjuga/Services/PracticeSessionService.swift index 2082730..71d2763 100644 --- a/Conjuga/Conjuga/Services/PracticeSessionService.swift +++ b/Conjuga/Conjuga/Services/PracticeSessionService.swift @@ -89,6 +89,11 @@ struct PracticeSessionService { let forms = referenceStore.fetchForms(verbId: verb.id, tenseId: tenseId) if forms.isEmpty { continue } + + // Full Table practice is for regular patterns only — skip combos + // where any form in this (verb, tense) is irregular. + if forms.contains(where: { $0.regularity != "regular" }) { continue } + return FullTablePrompt(verb: verb, tenseInfo: tenseInfo, forms: forms) }