store: при равной полноте точек побеждает пришедшая доставка
- байтовый порядок канонических форм остался тай-брейком только внутри одной доставки: на живом корпусе он решал 98,8% спорных координат и системно хранил меньшее значение, из-за чего step_count терял род и verify:archive был красным - правило перестало быть коммутативным осознанно, поэтому порядок свёртки приведён к журнальному: проход воркера прекращается на отложенной доставке, а свёртка вне порядка журнала пишет WARN - заведены счётчики PointsHeld и PointsErased — удержание полнотой и единственное направление, в котором правило теряет содержание
This commit is contained in:
@@ -82,6 +82,18 @@ func TestReplayЖивогоАрхива(t *testing.T) {
|
||||
t.Logf("тел %d: свёрнуто %d; отказов: слой %d, содержимое %d, прочее %d; несравнимых наборов %d",
|
||||
first.Bodies, first.Folded, first.FailedLayer, first.FailedMalformed,
|
||||
first.FailedOther, first.Incomparable)
|
||||
// Удержания печатаются, а не утверждаются: число производно от размера
|
||||
// корпуса, а прогон живого архива в гейт не входит — константа покраснела бы
|
||||
// молча (docs/review.md, 2026-08-02). Утверждается инвариант: удержание
|
||||
// возможно только там, где сохранённая точка строго полнее, то есть их не
|
||||
// может быть больше, чем столкновений вообще.
|
||||
t.Logf("удержано точек правилом полноты %d, содержание унесено пришедшей %d",
|
||||
first.PointsHeld, first.PointsErased)
|
||||
// Посылка равенства «пересборка = приём» называется рядом с ним: отказавшие
|
||||
// доставки живой путь в витрину не записал, а пересборка запишет, и
|
||||
// расхождение отпечатков было бы отказом не правила, а посылки.
|
||||
t.Logf("посылка сходимости: отказавших доставок %d",
|
||||
first.FailedLayer+first.FailedMalformed+first.FailedOther)
|
||||
t.Logf("частично разобрано %d, подобрано без учёта %d, записей без тела %d",
|
||||
first.Partial, first.Adopted, first.Orphans)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user