Files
admin/.wiki/concepts/sched-fnf-testing-method.md

4.1 KiB
Raw Blame History

title, type, tags, sources, related, updated
title type tags sources related updated
sched F&F — метод тестирования: скомпилированная дока + порядок хендоффа concept
sched
fnf
testing
docs
methodology
handoff
concepts/sched-fnf-r8-verification-stand.md
concepts/sched-admin-client-openapi.md
2026-08-19

sched F&F — метод тестирования

Урок раунда r10 (2026-08-19, режект → фикс → ретест 6/6). Правила тестирования в кросс-агентном цикле F&F против sched-команды. Применимо к любому следующему раунду.

1. Тестируем по СКОМПИЛИРОВАННОЙ доке, не по сырцам

  • «Публичная дока» текущего этапа = скомпилированная дока на дев-сервере http://localhost:5108 (nuxi dev, биндится на IPv6 [::1] — открывать localhost, НЕ 127.0.0.1). Роуты: /docs/tasks, /docs/self-hosting и т.д.
  • НЕ тестировать по docs/content/docs/*.md в рабочем дереве — тогда битый билд, пустой dist, мёртвый/устаревший рендер проскочат незамеченными. Дока как артефакт — часть предмета теста.
  • schedjs.com — заглушка конфига (NXDOMAIN, домен не зарегистрирован), проект никуда официально не публиковался. Деплой на публичный URL НЕ требовать — это вопрос фазы публикации и решение владельца.

2. Порядок хендоффа sched F&F (их процедура, fnf-testing-procedure.md)

Проверять ВСЕ 6 пунктов ПЕРЕД первым прогоном. Любой пропуск = возврат без теста:

  1. Код + юнит-тесты.
  2. Доки source — примеры парсятся (битый пример = возврат; в r10 был сломанный createDaemon({ alerts }) — лишняя },, tasks-мапа неоднозначно вложена).
  3. npm run generate в docs/docs/dist не пуст и закоммичен. ⚠️ Гоча: nuxi сам создаёт docs/dist как symlink на .output/public — «0 байт», в git не попадает; у них закрыто scripts/docs-dist.mjs (после generate заменяет симлинк реальной копией) + !docs/dist/ в .gitignore.
  4. git push — ноль ahead (тестируем то, что в origin).
  5. Пакеты в verdaccio (versions на месте).
  6. Пинг тестера со списком версий + целью (URL скомпилированной доки).

3. Ретейст-рецепт (r10, переиспользуем)

  • Стенд: /tmp/sched-alerts-stand/ (Windows Temp), node_modules @sched/core / @sched/daemon из verdaccio, .npmrc@sched:registry=https://verdaccio.kzntsv.site/. Приёмник receiver.mjs (порты 8131/8132).
  • Лестница r10: a) регресс дефолта, b) on:[] = тишина (массивы REPLACE), c) per-task on, d) per-task onMissed (missed-slot: гашение демона на слот > grace 120s), e) мультиканал (+ без корневого webhook), f) fail-fast на load (все 3 варианта).
  • ⚠️ Гоча путей: write-тул пишет /tmp/... как C:\tmp\... (диск-рут), bash /tmp = Windows Temp. Синхронизировать через cp.
  • Крон * * * * * — слот на :00 каждой минуты; запускать демон и ждать следующего :00+8s.

4. Результат r10

6/6 PASS, 0 находок, 0 замечаний — первый раунд без фиксов после режекта. Бонус: HMAC X-Sched-Signature-256 MATCH. Финальные версии: core 0.44.0 / daemon 0.4.2.