You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Каталога $IWE/scripts/ в типовой установке не существует — скрипт поставляется в $IWE/FMT-exocortex-template/scripts/:
$ ls /home/user/IWE/scripts/
ls: cannot access '/home/user/IWE/scripts/': No such file or directory
bash по несуществующему пути пишет ошибку в /dev/null, || echo "" даёт пустую строку, ветка else ставит CALENDAR_STATUS="fail". Отличить «календарь не отвечает» от «скрипт не найден» по выходу предварительной проверки нельзя.
Проверка
$ bash day-open-preflight.sh 2026-08-13
{ "calendar": "fail", ... }
$ bash FMT-exocortex-template/scripts/server-calendar.sh 2026-08-13
📅 Календарь (13 августа 2026): 2 события.
Тот же вызов напрямую отрабатывает и возвращает события.
Развести fail и missing: если файла нет — отдавать отдельный статус с причиной, как уже сделано для scout (scout_reason). Молчаливый fail на отсутствующем файле скрывает дефект установки за видом сбоя внешнего сервиса.
Окружение
Linux (Ubuntu), v0.38.3, установка без Mac-компонентов.
Что происходит
day-open-preflight.shкаждое утро возвращает"calendar": "fail", хотя календарь исправен.Причина
Строка 36:
CALENDAR_OUT=$(bash "$IWE/scripts/server-calendar.sh" "$DATE" "$CONFIG" 2>/dev/null || echo "")Каталога
$IWE/scripts/в типовой установке не существует — скрипт поставляется в$IWE/FMT-exocortex-template/scripts/:bashпо несуществующему пути пишет ошибку в/dev/null,|| echo ""даёт пустую строку, веткаelseставитCALENDAR_STATUS="fail". Отличить «календарь не отвечает» от «скрипт не найден» по выходу предварительной проверки нельзя.Проверка
Тот же вызов напрямую отрабатывает и возвращает события.
Предложение
$TEMPLATE_SCRIPTS_DIR/$SCRIPT_DIR), а не из$IWE/scripts/. Тот же класс, что issue [bug] day-open-scaffold.sh в <governance-repo>/scripts/ разрешает корень рабочей директории на уровень ниже — все пути удваиваются, секции приходят ложно-пустыми #329 (угадывание корня по расположению скрипта).failиmissing: если файла нет — отдавать отдельный статус с причиной, как уже сделано для scout (scout_reason). Молчаливыйfailна отсутствующем файле скрывает дефект установки за видом сбоя внешнего сервиса.Окружение
Linux (Ubuntu), v0.38.3, установка без Mac-компонентов.