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]:
|
def pick(pair: str) -> list[str]:
|
||||||
"""N_UNITS единиц из ОТСУЖЕННОГО набора — чтобы порядки читателя и счётчика сравнивались
|
"""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()
|
return sorted(uids, key=lambda u: hashlib.sha256(f"{SALT}|{pair}|{u}".encode()).hexdigest()
|
||||||
)[:N_UNITS]
|
)[:N_UNITS]
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue