Otomatisasi CLI dan CI
Siapkan instalasi CLI yang terverifikasi dan otomatisasikan pekerjaan lokal terbatas, bukti, serta pemeriksaan backend yang eksplisit.
Gambaran umum
Siapkan instalasi Linux yang terverifikasi, lalu jalankan pekerjaan desain sebagai pengguna tugas biasa pada ruang kerja baru. Pisahkan hak istimewa instalasi dari pemrosesan sumber. Halaman ini menggunakan kontrak instalasi CLI 0.1.9; pilih rilis yang benar-benar tersedia melalui Unduhan.
Syarat Persiapan
Patok versi, nama arsip, dan katalog bertanda tangan yang persis diterima alur kerja Anda.
Ikuti Verifikasi Unduhan untuk mengautentikasi pin DER kunci publik, manifest checksum bertanda tangan, tanda tangan arsip, dan tanda tangan katalog sebelum menjalankan biner unduhan apa pun.
Gunakan Instalasi di Linux. Bootstrap tertanam membuat tata letak bertanda tangan dan komponen Tcl yang lokasinya tetap tanpa checkout repositori, build, atau akses jaringan. Pasang hanya pada langkah yang dikendalikan administrator.
Jalankan
PREFIX/bin/altiterpasang yang persis sesuai dan simpan laporan versi serta kapabilitasnya. Jangan menggantinya dengan biner pengembangan atau runnerPATHyang belum terverifikasi.
Keberadaan arsip dan output bantuan tidak membuktikan kesiapan instalasi. Periksa alti capabilities dan respons kapabilitas untuk operasi yang ingin dijalankan. Pemeriksaan yang gagal harus menghentikan operasi tersebut, bukan mengaktifkan alternatif.
Resep CI Offline
Siapkan job.json beserta sumber yang hanya dapat diakses pemiliknya menggunakan Keberhasilan Pertama dengan CLI. Atur ALTI_BIN ke instalasi terverifikasi yang persis sesuai dan ALTI_WORKSPACE ke ruang kerja yang telah disiapkan untuk tugas ini:
set -euo pipefail
ALTI_BIN="${ALTI_BIN:?set the verified absolute installed alti path}"
ALTI_WORKSPACE="${ALTI_WORKSPACE:?set the private prepared workspace}"
case "$ALTI_BIN" in /*) ;; *) exit 1 ;; esac
EVIDENCE="$(mktemp -d)"
"$ALTI_BIN" version > "$EVIDENCE/version.txt"
"$ALTI_BIN" capabilities > "$EVIDENCE/capabilities.json"
"$ALTI_BIN" commands > "$EVIDENCE/commands.json"
"$ALTI_BIN" --json job validate \
--job "$ALTI_WORKSPACE/job.json" \
--workspace-root "$ALTI_WORKSPACE" \
--source rtl/top.sv \
> "$EVIDENCE/preflight.json" 2> "$EVIDENCE/preflight-error.json"
jq -e 'length == 25' "$EVIDENCE/commands.json" >/dev/null
jq -e '
.receipt_schema == "altifigence.cli.engine-job-preflight.v1" and
.status == "client_preflight_valid" and
.submitted == false and
.server_authority_verified == false
' "$EVIDENCE/preflight.json" >/dev/null
Ini memeriksa pemeriksaan awal, bukan eksekusi RTL. Tambahkan evaluasi CPU XLS eksplisit atau operasi mesin lokal terbatas lainnya jika alur kerja Anda memerlukan hasil eksekusi. Pemeriksaan lokal ini tidak memerlukan kredensial Cloud.
Aturan Kapabilitas dan Output
Periksa status keluar proses sebelum mengurai skema khusus perintah yang diharapkan.
Pisahkan stdout dan stderr. Dengan
--json, uraikan output mesin daristdoutdalam envelope; untuk piping plan/apply DDS, simpan hasil native mentah.Gunakan direktori ruang kerja/eksekusi baru. Tinjau rencana penulisan lengkap sebelum menerapkannya, dan buat ulang setelah konflik alih-alih mengganti hash-nya.
Gunakan kebijakan
cpu/cudayang eksplisit atau kebijakan Evolvecpu-reference/cuda. XLS dan packed RTL tidak diam-diam beralih ke alternatif. PXautoadalah kebijakan terpisah yang harus dipilih secara eksplisit; backend dan alternatif yang benar-benar digunakan harus dibaca dari buktinya.Jadwalkan kualifikasi GPU secara terpisah dengan driver dan alat Icarus yang diperlukan. Wajibkan pekerjaan CUDA nyata yang diterima serta asal-usul perangkat keras tersimpan; penemuan saja tidak cukup. Jangan menyimpulkan kinerja dari pengujian fungsional.
Penulisan Cloud memerlukan izin akun/proyek dan persetujuan unggah eksplisit untuk operasi tersebut. Penggantian HTTP lama memerlukan hash terbaru dari layanan tersebut;
409adalah konflik, bukan izin untuk mencoba lagi dengan pemeriksaan yang lebih lemah.
Mempertahankan Bukti
Simpan katalog/tanda tangan terverifikasi, digest biner terpasang, versi CLI, argumen yang telah disamarkan, digest input, status keluar, dan aliran hasil/diagnostik yang dibatasi. Catatan GPU juga memerlukan identitas perangkat/driver dan alat eksternal yang sebenarnya. Perlakukan bukti pengembangan/debug secara terpisah dari kualifikasi paket bertanda tangan. Hindari menyimpan kredensial atau sumber proyek tanpa kebutuhan.
Menjaga CI agar dapat diulang
Patok rilis terverifikasi dan versi toolchain eksternal dalam penyiapan runner.
Gunakan direktori sumber baru milik pengguna dan jalur output baru untuk setiap tugas.
Jalankan pemeriksaan kapabilitas dan eksekusi nyata kecil yang sesuai dengan operasi yang diminta.
Gagalkan pipeline jika status keluar bukan nol, output tidak valid, identitas sumber sudah usang, atau artefak yang diperlukan tidak ada.
Simpan diagnostik terbatas dan digest; rotasikan kredensial melalui penyimpanan rahasia CI, bukan log tersimpan.
Cache input instalasi terverifikasi atau toolchain yang tidak dapat diubah berdasarkan versi dan digest. Jangan masukkan hasil proyek, berkas sesi, dan kredensial penyedia ke cache bersama. Pekerjaan jarak jauh memerlukan otorisasi eksplisit dan pelacakan tugasnya sendiri; CI lokal yang lolos tidak berarti pekerjaan Cloud telah berjalan.