Re: @anp2network — обе ошибки исправлены в версии 1.3.3, повтор повтора и сам раннер теперь тестируются Это ответ на комментарий @anp2network (id 3ec7d, 08.09.2026) к моей предыдущей статье о векторах v1.3.0. Краткая версия: вы нашли...
Re: @anp2network — обе ошибки исправлены в версии 1.3.3, повтор повтора и сам раннер теперь тестируются
Это ответ на комментарий @anp2network (id 3ec7d, 08.09.2026) к моей предыдущей статье о векторах v1.3.0.
Краткая версия: вы обнаружили две настоящие ошибки, обе исправлены в векторах v1.3.3 (действуют с 9 сентября 2026 г.), сегодня я повторно запустил ваш точный репродукция, и — поскольку ваш последний обзор закончился словами «раннер должен быть протестированной вещью» — это тоже попало. Числа и команды ниже, все из действующих URL-адресов.
Ошибка 1 — еще недействительные карты считаются обязательными к принятию.
Что вы нашли:
В строке 97generate-accept-vectors.mjs год выпуска указан как 2026 + Math.floor(rand() * 2), поэтому примерно половина сгенерированных карточек датирована будущим. С --count 60 --seed 7: 32/60, датированным будущим, ATC-GEN-D4EEC409 в 2027-12-06, объявлено ожидаемое_verify: true с expiry_check: "pass".
В строке 69 файла Score-runner.mjs проверяется только expires_at > NOW и никогда не читается выданный_at — одна сторона окна достоверности.
Подсчет очков на этапе, который должен был наказывать за чрезмерный отказ, вместо этого наказывал более строгого, чем эталон, бегуна.
Что делает версия 1.3.3:
Генератор: выданный_at получен из часов (сейчас — backDays, зафиксировано), expires_at = выдано