Like/dislike + report under every question and lesson, lesson reports and vote columns in admin; practice islands refresh from file; audit fixes

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-10-12 12:56:47 +03:30
parent b075b93f2a
commit 2e0753587c
12 changed files with 1331 additions and 951 deletions

View File

@@ -465,6 +465,14 @@ anyone who can read this repo can forge a token for any user.**
سوال در `question_io`؛ (۲) migration `content.0021` روی سوال/گزینه/درس/پیام‌های دستیارِ دیتابیس (و حذفِ سوالِ تکراریِ بعد از تبدیل)؛ (۳) `rag.services.mathtext.to_plain`
روی پاسخِ زنده و تاریخچه‌ی دستیار (`ai_tutor/views.py`)؛ (۴) `MathApp_frontend/src/lib/plainMath.ts` در `MathText` به‌عنوانِ آخرین تور (دو پیاده‌سازی باید هم‌رفتار بمانند).
توانِ پیچیده به‌صورتِ «a به توانِ (…)» نوشته می‌شود، نه `^`. تست: `content/tests_plain_math.py` (seed بدونِ نشانه)، `ai_tutor/tests_plain_history.py`.
- **بازخوردِ دانش‌آموز** (`content.0023`): زیرِ هر سوالِ آزمون و هر درس سه دکمه است: 👍 «خوب بود»، 👎 «خوب نبود»، «گزارشِ ایراد»
(`MathApp_frontend/src/components/FeedbackBar.tsx`). `POST /api/questions/{id}/vote` و `/api/lessons/{id}/vote` (`value` ۱/−۱/۰)،
`POST /api/lessons/{id}/report` (جدیدِ درس) و `…/questions/{id}/report` (از قبل). ادمین: ستونِ 👍/👎 در فهرستِ سوال‌ها و درس‌ها،
صفِ «گزارش‌های سوال» و «گزارش‌های درس». رأی هر کاربر روی هر هدف یکی و تغییرپذیر است (`ContentVote`).
- **اصلاحِ جزیره‌های تمرین از فایل:** `seed_sync._refresh_practice` گزینه‌های سوالِ موجودِ «تمرین: …» را در جا (همان idها) با فایل یکی می‌کند
و سوالِ تحویل‌شده‌ی حذف‌شده از فایل را اگر جوابی ندارد پاک می‌کند؛ سوالِ دستیِ ادمین هرگز.
- **بازبینیِ خودکارِ سریع** (۲۰۲۶-۱۰-۱۲): بازحسابِ مستقلِ ۳۴۲ سوالِ حسابِ ساده برابرِ کلید بود؛ ۱۲ سوالِ گزینه‌ی هم‌ارزِ جواب (۰/۳ و ۰) و ۵ درسِ
با سوگیریِ «جوابِ درست بلندترین گزینه» پیدا و اصلاح شد. این جایگزینِ بازبینیِ معلم نیست.
- جزیره‌های تمرین آخرِ هر فصل‌اند و قفلِ ترتیبی دارند؛ فصلِ اولِ هر کتاب رایگان است، پس تمرین‌هایش هم رایگان‌اند.
## کتاب‌ها (Subject)، جزیره‌های بیشتر و شکلِ درس‌های کتاب‌های تازه — ۲۰۲۶-۱۰-۱۲