Skip to main content

Documentation

Перевод моделей в архив (arc / Done)

В интерфейсе вкладка Actual Models показывает модели с флагом arc = 0, а вкладки Archive/… — модели с arc = 1.

Section Documentation
Updated 27.02.2026

Перевод моделей в архив (arc / Done)

Ключевая идея#

В интерфейсе вкладка Actual Models показывает модели с флагом arc = 0, а вкладки Archive / … — модели с arc = 1.

Флаг arc выставляется не по индикатору прогресса Time Depth в интерфейсе, а по вычисленному статусу завершенности модели: Levels -> Done, который формируется в коде.

Где определяется, активная модель или архивная#

Отбор в списках#

  • Actual Models: фильтр по arc = 0.
  • Archive / Community Archive / Highlights Archive: фильтр по arc = 1.

См. mp_prism_list.php.

Как появляется arc#

  1. В процессе пересчета модели строится ветка Levels.
  2. Поле Levels[Done] становится равным 1, когда по всем релевантным aim-веткам появляется признак завершения в Controls[aimName][Done].
  3. Значение Levels[Done] записывается в mp_models.arc.

См. inc_mp_calcModels.php.

Что именно “закрывает” модель (ставит Controls[..][Done])#

Ветка Controls[...][Done] выставляется при расчете контрольных параметров в inc_calc_controls.php, когда наступает один из завершающих сценариев. Типовые значения Done:

  • APPROACH — достигнут уровень подхода.
  • LOST AM — пробит уровень потери.
  • BREAK LT — пробита LT в сценариях, где она проверяется.
  • REACHED — достигнут уровень P6.
  • AIM1 / AIM2 / AIM3 / AIM4 — достигнута соответствующая цель.
  • Для reverse/over-сценариев используются значения вида REVERSE, OVER, OVER LOST; они тоже означают завершение текущего сценария контроля.

Почему “Time Depth = 100%” не означает архив#

Time Depth в блоке Analysis — это расчетная UI-метрика, показывающая прогресс или возраст модели. Сам по себе этот показатель не меняет значение arc.

Чтобы модель ушла в архив, должно быть выставлено Controls[..][Done], после чего формируется Levels[Done] = 1.

DEPTH APPROACH и онлайн-режим#

Событие DEPTH APPROACH означает, что подход ожидался, но так и не произошел до достижения предельной глубины. В коде оно выставляется только при условии !NEXT_NEEDED.

В онлайн-режиме NEXT_NEEDED включен, поэтому ветка DEPTH APPROACH фактически не срабатывает. Следовательно, только по одному Time Depth модель в архив не уходит.

TIME_DEPTH_AIMS — это другое#

TIME_DEPTH_AIMS — это отдельное ограничение глубины отслеживания целей на стадии постконтроля. Оно определяет, до какого момента продолжается поиск достижения целей, но не равно DEPTH APPROACH и относится к другому этапу логики.

Практическая диагностика#

Для конкретной модели имеет смысл последовательно проверить:

  1. mp_models.arc — текущее значение 0/1.
  2. Ветки Controls и Levels, в том числе Controls[..][Done] и Levels[Done].
  3. Условия расчета: онлайн-режим или нет, а также состояние NEXT_NEEDED.

Важно: arc должен обновляться вместе с пересчётом#

В текущей версии системы поле mp_models.arc обновляется при любом штатном пересчете модели: через воркер, API или CLI.

  • Ветка Levels строится из Controls (см. inc_mp_calcModels.php, addLevels()).
  • Значение Levels[Done] записывается в mp_models.arc при сохранении или обновлении модели.
  • Обновление не зависит от источника запуска пересчета: из mp_multi_calc.php, из API или из CLI. Список колонок mp_models подгружается лениво внутри updateModelInDB() / insertModelIntoDB(), поэтому arc всегда попадает в SQL UPDATE.

Если вы видите несоответствие, например Controls[..][Done] уже финальный, а mp_models.arc все еще равен 0, на практике обычно причина одна из двух:

  1. Модель давно не пересчитывалась, и в БД остались старые значения.
  2. Сравниваются разные БД или разные инстансы системы.

Для синхронизации достаточно запустить пересчет модели, например через /api/recalc_model_params.php?modelId=..., а затем повторно проверить mp_models.arc и ветки Controls / Levels.

Быстрый просмотр данных модели#

Для просмотра текущего состояния модели, включая arc, Controls и Levels, можно использовать:

  • Web: mp_show_model.php?id=2415444
  • CLI: php mp_show_model_json.php 2415444 — идентификатор можно передавать как позиционный аргумент или как id=2415444.

Continue Reading

Related Articles