Menyimpan, menampilkan daftar, dan membuka kembali hasil XLS lokal

Jalankan permintaan XLS native ke penyimpanan hasil proyek, tampilkan daftar hasil tersimpan, dan buka kembali satu hasil berdasarkan ID kontennya.

Gunakan Altifigence CLI 0.1.9 di Linux untuk menyimpan hasil XLS native di proyek lokal. Setiap hasil tersimpan diperiksa dengan memutar ulang permintaan yang disertakan di CPU saat hasil disimpan, ditampilkan daftarnya, dan dibuka kembali.

Menyimpan hasil

Gunakan jalur absolut ke proyek lokal Anda. Contoh ini menggunakan $HOME/alti-projects/demo-project. Simpan permintaan operasi native:

set -euo pipefail
PROJECT="$(cd "$HOME/alti-projects/demo-project" && pwd -P)"
WORK="$(mktemp -d)"
cat > "$WORK/eval.json" <<'JSON'
{
  "schema": "altifigence.xls.operation-request.v1",
  "operation": "eval",
  "input_kind": "dslx",
  "source": "fn compute(x: u8, y: u8) -> u8 { x + y }",
  "top": "compute",
  "backend": "cpu",
  "vectors": [["1", "2"]]
}
JSON
alti xls artifact store --project "$PROJECT" --request "$WORK/eval.json" > "$WORK/ref.json"
jq '{schema, result_schema, replay_verified}' "$WORK/ref.json"
ID="$(jq -r .id "$WORK/ref.json")"

store menjalankan operasi yang disebutkan dalam permintaan, memutar ulang hasilnya, dan menyimpannya. Pastikan status keluar adalah 0. Kolom referensi yang dipilih adalah:

{
  "schema": "altifigence.xls.artifact-ref.v1",
  "result_schema": "altifigence.xls.operation-result.v1",
  "replay_verified": true
}

id dan sha256 memiliki nilai yang sama: SHA-256 dari hasil yang disimpan, 64 karakter heksadesimal huruf kecil. Hasil disimpan sebagai .altifigence/xls/artifacts/<id>.json di dalam folder yang diberikan oleh --project. Tanpa --project, folder saat ini yang digunakan. Permintaan optimize dan codegen menyimpan hasil altifigence.xls.operation-result.v2 yang menyertakan compilation. Menyimpan permintaan yang sama lagi mengembalikan id yang sama.

Menampilkan daftar hasil tersimpan

alti xls artifact list --project "$PROJECT" > "$WORK/list.json"
jq '{schema, limit, replay_verified, ids}' "$WORK/list.json"

ids memuat ID yang tersimpan secara terurut. Sebelum menampilkan daftar, setiap hasil tersimpan diperiksa terhadap ID-nya dan diputar ulang. Daftar mencakup hingga 256 entri. Proyek tanpa hasil tersimpan mengembalikan array ids kosong. Hasil yang dipublikasikan oleh alti xls run disimpan di store yang sama dan muncul di daftar yang sama.

Membuka kembali hasil

alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/result.json"
jq '{schema, status, outputs}' "$WORK/result.json"

Setelah status keluar 0, kolom yang dipilih adalah:

{
  "schema": "altifigence.xls.operation-result.v1",
  "status": "succeeded",
  "outputs": [
    "bits[8]:0x3"
  ]
}

show mengembalikan hasil tersimpan yang lengkap, termasuk request, source_sha256, request_sha256, dan parameters. Perintah ini lebih dulu memeriksa bahwa SHA-256 file sama dengan ID dan file berukuran dalam 65536 byte, lalu memutar ulang permintaan yang disertakan dan membandingkan setiap kolom.

Mengatasi kesalahan

Saat mesin XLS menolak operasi store, perintah keluar dengan status 2 dan menulis objek altifigence.xls.error.v1 ke standard output. Baca kode dan pesannya:

alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/show.json" || true
jq -r '.error.code + ": " + .error.message' "$WORK/show.json"

CLI melaporkan XLS artifact id must be 64 lowercase hexadecimal characters di standard error dengan awalan error: dan keluar dengan status 1 sebelum menjalankan mesin. Baca pesan ini di standard error. Salin id dari store atau dari ids di list tanpa perubahan.

Untuk artifact-not-found: XLS store does not exist, berikan --project yang sama dengan yang Anda gunakan pada store.

Untuk artifact-io: cannot access local XLS artifact store dari show, jalankan list dengan --project yang sama dan gunakan ID dari ids.

Untuk resource-limit: store listing exceeds 256 entries; use artifact-show with a known id, buka kembali hasil dengan show dan ID yang disimpan dari store.

Memeriksa, mengevaluasi, dan menghasilkan RTL dengan XLS native