Выражение может обозначать derivation и вычисляться в путь к результату, не решая вопрос воспроизводимости результата сборщика. Функциональное вычисление Nix даёт основу для рассуждений о выражении. Входы внешних команд всё ещё требуют отдельного разбора.
Рассмотрим гипотетическую среду сборки, разрешающую чтение необъявленного файла хоста. Сборщик копирует /opt/local/banner в результат. Между двумя сборками объявленные входы остаются прежними, но этот файл меняется. Тогда содержимое результата тоже может различаться. Этот контрпример зависит от разрешения такого чтения.
Мне нужны определение сборщика, объявленные зависимости и сведения о том, какие внешние входы он действительно может наблюдать. Если часть изменяющегося состояния хоста допускается намеренно, утверждение о воспроизводимости должно пояснять, что именно считается неизменным.
Запись происхождения SLSA может содержать определение сборки, подробности выполнения и известные разрешённые зависимости. Это помогает проверить утверждение, но не устанавливает, что учтены все входы, влияющие на результат. Какие свидетельства закрыли бы этот пробел для данной derivation?