Как подготовить паспорт наблюдений

RUN-025 / ARBD38 · Метод и проект Ивана Борисовича Курпишева.

Начните с исполнимого примера

В блоке «Наблюдения с погрешностью» выберите учебные значения и нажмите «Скачать паспорт, запрос и результат». Файл содержит три раздела: passport, query и result. При импорте результат всегда вычисляется заново.

Скачать исходный учебный паспорт JSON

Для реальных данных замените учебный корпус документированным корпусом, задайте source_kind=EMPIRICAL_DECLARED и model.kind=EMPIRICAL_CANDIDATE. Это обозначает заявленное происхождение. Программа не подтверждает его автоматически и сохраняет SCIENCE=ABSTAIN.

Зафиксируйте смысл и происхождение

Что определитьГде записать
Источник и его точная версияprovenance.source_id, locator, sha256, model_frozen_at. Хеш относится к исходному материалу; его соответствие источнику должен проверить исследователь.
Область и условияdomain.key, description, conditions. Ключ области должен совпадать с model.scope_key и query.scope_key.
Измеряемая величина и единицаchannels[].quantity, unit. Единицы совпадают с объявлением канала в модели и с записью измерения.
Граница погрешностиuncertainty.kind=ABSOLUTE_BOUND, radius и justification. Общая методика и ограничения: provenance.uncertainty_basis.
Происхождение наблюденийlineage - идентификаторы исходных каналов. Целевой канал не может быть источником наблюдения. Полнота этой декларации требует отдельного аудита.
Цель и протоколtarget.id, quantity, unit, protocol. В этом выпуске hidden_channel_status=NOT_CONFIGURED: независимое испытание ещё не проведено.

Стандартная неопределённость, стандартное отклонение и интервал покрытия не являются детерминированной абсолютной границей. Такие типы входа останавливают расчёт; допустимое преобразование требует отдельного обоснования.

Соблюдайте время прогноза

В time_axis укажите origin_utc и step_seconds. model.observables[].time задаёт шаг измерения. Каждый канал имеет available_at, когда результат стал доступен. В запросе фиксируются issued_at и horizon.

Допускаются только записи с порядком измерено ≤ доступно ≤ выдан прогноз < целевой момент. Все даты задаются в UTC: например 2026-09-01T00:30:00.000Z. Модель должна быть зафиксирована не позже выдачи прогноза.

records содержит уже прочитанные показания. candidates содержит идентификаторы доступных к этому моменту, но ещё не прочитанных каналов. Это не расписание будущих экспериментов.

Обновите связь запроса с паспортом

Поле query.passport_sha256 должно совпадать с SHA-256 канонического представления паспорта. После изменения данных новый хеш создают явно. Рабочий комплект содержит скрипт seal_passport.mjs; он меняет только ссылку запроса и не удостоверяет происхождение.

node scripts/seal_passport.mjs input.json prepared.json
node scripts/evaluate_passport.mjs prepared.json result.json

При загрузке prepared.json раздел сайта выполнит те же проверки. Результаты представлены в явно заданных единицах. Изменение или подмена паспорта после подготовки запроса обнаруживаются.

Пределы текущей реализации

До 256 сценариев, до 8 каналов, до 8 шагов; одна числовая цель. Значения - целые от -10⁶ до 10⁶, границы и допуск - неотрицательные целые. Для дробных измерений выберите подходящую единицу и документируйте преобразование до импорта. Автоматического пересчёта нет.

Результат условен относительно конечной таблицы и прямоугольной модели ошибки. Полнота сценариев, применимость к предметной области, обоснованность пределов ошибки и независимый скрытый целевой канал требуют отдельной проверки. SCIENCE=ABSTAIN; truth_layer_promotion=0.