Skip to content

tools download: exact version, SHA-256 и offline verify #27

Description

@zeegin

Контекст

Обычный quality gate должен быть воспроизводимым и не иметь скрытого доступа к сети. В v8-runner 0.5.1 tools download описан как загрузка из latest GitHub release; для YaXUnit/Vanessa доступны только --force и частные options.

Из-за отсутствия pin/checksum/offline contract проекту приходится держать отдельный provisioner и manifest, хотя сам download уже является ответственностью runner.

Предложение

Расширить tools download единым supply-chain contract:

  • --version <exact>;
  • expected --sha256 <digest> или digest в config/lock file;
  • --offline / tools verify, не выполняющий network requests;
  • atomic publication после size/hash validation;
  • machine-readable manifest/lock с kind, version, source URL, length и SHA-256.

Критерии готовности

  • exact version никогда не разрешается в latest;
  • mismatch digest удаляет temporary file и возвращает typed error;
  • offline verify гарантированно не обращается к сети;
  • повторный verify идемпотентен;
  • одинаковый контракт работает для YaXUnit, Vanessa и client-mcp;
  • JSON result перечисляет verified/downloaded artifacts и их digests;
  • credentials/tokens не попадают в output/log.

После появления этого контракта project-specific provisioner можно удалить, оставив runner-first workflow.

Наблюдение сделано на v8-runner 0.5.1.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions