fix(plagiarism): не матчить против чужих/своих же загруженных работ
All checks were successful
Deploy / deploy (push) Successful in 14m38s
Deploy / test (push) Successful in 2m47s

Критично: L1/L2/L3 сравнивали фрагменты со ВСЕЙ базой documents, включая
source=user_submission — работы, которые auto_approve_submission сам же
затаскивал в корпус после проверки. Итог: студент, перепроверивший тот
же файл дважды, получал 100% "точное совпадение" по всем фрагментам —
против собственной же более ранней загрузки.

Фикс: все три уровня исключают source=user_submission из кандидатов на
совпадение. AUTO_APPROVE_SUBMISSIONS выключен по умолчанию — раньше рос
корпус для будущего сравнения, но без защиты от self/cross-match это
опаснее, чем полезно.
This commit is contained in:
jze9
2026-08-25 17:42:23 +05:00
parent 43034eda33
commit 74cbf1b8f4
3 changed files with 20 additions and 7 deletions

View File

@@ -121,6 +121,10 @@ def check_plagiarism(
if not doc_meta:
continue
# user_submission — чужие непубличные загрузки (и свои же прошлые
# прогоны того же файла), не легитимный источник для сравнения.
if doc_meta["source"] == "user_submission":
continue
llm_result = {"is_paraphrase": False, "confidence": 0.0, "reason": ""}
if source_text: