Files
AWatch-rus/docs/RC_EVIDENCE_PACK_PILOT_V1_RU.md
T

4.8 KiB
Raw Blame History

RC Evidence Pack: Pilot v1

Документ фиксирует доказательства финальной проверки release candidate процесса для ветки hardening/pilot-v1-defects-cleanup.

Идентификаторы проверки

  • Branch/ref: origin/hardening/pilot-v1-defects-cleanup
  • Commit: a8c0482e760cc17b53182999355f65c17457d7f2
  • Commit short: a8c0482
  • Дата проверки: 2026-06-12
  • Clean worktree: <LOCAL_VALIDATION_WORKTREE>/AWatch-rus-rc-validation-a8c0482
  • RC name: v1.0.2-rc-validation
  • RC output: dist/release-candidate/v1.0.2-rc-validation/
  • CARGO_TARGET_DIR: $HOME/.cache/aw-rus-hardening-target

Абсолютный путь локального операторского home-каталога намеренно не фиксируется в tracked-документации. Это не влияет на воспроизводимость: команда использует стандартный $HOME.

Команды проверки

Preflight без вынесенного target dir:

bash scripts/build_release_candidate.sh --preflight

Preflight с вынесенным cargo target dir:

CARGO_TARGET_DIR=$HOME/.cache/aw-rus-hardening-target \
  bash scripts/build_release_candidate.sh --preflight

Полная RC-сборка:

CARGO_TARGET_DIR=$HOME/.cache/aw-rus-hardening-target \
  bash scripts/build_release_candidate.sh v1.0.2-rc-validation

Команда полной сборки без имени RC проверена отдельно и корректно завершается с exit=2, потому что первый аргумент обязателен.

Созданные RC artifacts

В каталоге dist/release-candidate/v1.0.2-rc-validation/ созданы:

  • FILES.txt
  • SHA256SUMS.txt
  • SHA256SUMS-v0.2.txt
  • git-commit.txt
  • RELEASE_ASSETS_MANIFEST-v0.2.json
  • sbom/cargo-metadata-v0.2.json
  • sbom/cargo-tree-v0.2.txt
  • sbom/cyclonedx-rust-v0.2.json
  • sbom/python-inputs-v0.2.txt
  • sbom/spdx-rust-v0.2.json

git-commit.txt содержит a8c0482e760cc17b53182999355f65c17457d7f2.

Artifact verification

Подтверждено:

  • sha256sum -c SHA256SUMS.txt: OK
  • sha256sum -c SHA256SUMS-v0.2.txt: OK
  • JSON parse для RELEASE_ASSETS_MANIFEST-v0.2.json: OK
  • JSON parse для sbom/cargo-metadata-v0.2.json: OK
  • JSON parse для sbom/cyclonedx-rust-v0.2.json: OK
  • JSON parse для sbom/spdx-rust-v0.2.json: OK
  • FILES.txt соответствует фактическому набору checksum-covered файлов: OK

Повторный запуск с тем же RC_NAME блокируется сообщением release candidate output already exists; существующий SHA256SUMS.txt не изменяется.

Dirty-tree guard

Clean-tree requirement сохранен и проверен двумя сценариями:

  • non-ignored untracked file блокирует настоящую RC-сборку;
  • tracked modification блокирует настоящую RC-сборку.

В обоих случаях скрипт завершается до создания RC-каталога. Ignored files намеренно не блокируют сборку, иначе dist/ ломал бы повторные проверки и локальную валидацию артефактов.

dist/ и git

Подтверждено:

  • git ls-files dist возвращает 0 tracked files;
  • git status --ignored dist показывает !! dist/;
  • dist/ не добавляется в git и остается локальным output-каталогом.

Обязательные проверки

В clean validation worktree выполнены:

  • bash -n scripts/build_release_candidate.sh: OK
  • bash scripts/build_release_candidate.sh --preflight: OK
  • CARGO_TARGET_DIR=$HOME/.cache/aw-rus-hardening-target bash scripts/build_release_candidate.sh --preflight: OK
  • git diff --check: OK
  • bash scripts/check_private_config_guard.sh: OK
  • node scripts/check_portal_contract_sync.mjs: OK
  • bash scripts/quality-gate.sh: OK

Внутри полной RC-сборки также прошли:

  • cargo fmt --manifest-path adk-rust/Cargo.toml --all -- --check
  • cargo test --manifest-path adk-rust/Cargo.toml --workspace
  • cargo clippy --manifest-path adk-rust/Cargo.toml --workspace --all-targets -- -D warnings
  • cargo build --manifest-path adk-rust/Cargo.toml --workspace --release

Вывод

Release candidate процесс подтвержден как воспроизводимый в чистом рабочем дереве. Clean-tree requirement сохранен. Сборка не требует ослабления защитных проверок. Ветка готова к review и merge в main.