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

58 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "sched F&F — метод тестирования: скомпилированная дока + порядок хендоффа"
type: concept
tags: [sched, fnf, testing, docs, methodology, handoff]
sources: []
related: [concepts/sched-fnf-r8-verification-stand.md, concepts/sched-admin-client-openapi.md]
updated: 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.