Pick blind-reading units only where the panel is complete, then emit the judging pass
This commit is contained in:
parent
6d0759d331
commit
0ef049f492
1 changed files with 10 additions and 2 deletions
|
|
@ -119,8 +119,16 @@ HEAD = """# Слепое чтение — {pair}, задание {k}
|
|||
|
||||
def pick(pair: str) -> list[str]:
|
||||
"""N_UNITS единиц из ОТСУЖЕННОГО набора — чтобы порядки читателя и счётчика сравнивались
|
||||
на одних и тех же текстах. Отбор детерминирован своей солью."""
|
||||
uids = sorted(u["uid"] for u in Z.chosen(pair))
|
||||
на одних и тех же текстах. Отбор детерминирован своей солью.
|
||||
|
||||
⚠ ОТБОР ИДЁТ ТОЛЬКО ПО ЕДИНИЦАМ С ПОЛНОЙ ПАНЕЛЬЮ. На китайской оси четыре обогащённых
|
||||
черновика забракованы эхо-гейтом, значит арма «обогащённый черновик + перепис» на них нет
|
||||
вовсе. Прежняя редакция брала восемь единиц из всех отсуженных и одна приходила неполной —
|
||||
а ранги, снятые на панелях разной ширины, между собой несравнимы. Это сужение ВЫБОРКИ ЧТЕНИЯ,
|
||||
а не панели: сама панель не режется, просто читаются те главы, где она есть целиком.
|
||||
"""
|
||||
tx_all = ZS.texts_of(pair)
|
||||
uids = sorted(u for u in tx_all if all(tx_all[u].get(a, "").strip() for a in PANEL))
|
||||
return sorted(uids, key=lambda u: hashlib.sha256(f"{SALT}|{pair}|{u}".encode()).hexdigest()
|
||||
)[:N_UNITS]
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue