Almacenar, enumerar y volver a abrir resultados locales de XLS
Ejecute una solicitud XLS nativa hacia el almacén de resultados del proyecto, enumere los resultados almacenados y vuelva a abrir uno por su ID de contenido.
Utilice Altifigence CLI 0.1.9 en Linux para conservar resultados XLS nativos en un proyecto local. Cada resultado almacenado se comprueba reproduciendo en la CPU su solicitud integrada cuando se almacena, se enumera y se vuelve a abrir.
Almacenar un resultado
Utilice una ruta absoluta a su proyecto local. Este ejemplo utiliza $HOME/alti-projects/demo-project. Guarde una solicitud de operación nativa:
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 ejecuta la operación indicada en la solicitud, reproduce el resultado y lo guarda. Compruebe que el estado de salida sea 0. Los campos de referencia seleccionados son:
{
"schema": "altifigence.xls.artifact-ref.v1",
"result_schema": "altifigence.xls.operation-result.v1",
"replay_verified": true
}id y sha256 contienen el mismo valor: el SHA-256 del resultado almacenado, de 64 caracteres hexadecimales en minúsculas. El resultado se guarda como .altifigence/xls/artifacts/<id>.json dentro de la carpeta indicada por --project. Sin --project, se usa la carpeta actual. Las solicitudes de optimize y codegen almacenan resultados altifigence.xls.operation-result.v2 que incluyen compilation. Si se almacena de nuevo la misma solicitud, se devuelve el mismo id.
Enumerar los resultados almacenados
alti xls artifact list --project "$PROJECT" > "$WORK/list.json"
jq '{schema, limit, replay_verified, ids}' "$WORK/list.json"ids contiene los ID almacenados en orden. Antes de enumerar, cada resultado almacenado se comprueba con su ID y se reproduce. La lista abarca hasta 256 entradas. Un proyecto sin resultados almacenados devuelve una matriz ids vacía. Los resultados publicados por alti xls run se conservan en el mismo almacén y aparecen en la misma lista.
Volver a abrir un resultado
alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/result.json"
jq '{schema, status, outputs}' "$WORK/result.json"Tras un estado de salida 0, los campos seleccionados son:
{
"schema": "altifigence.xls.operation-result.v1",
"status": "succeeded",
"outputs": [
"bits[8]:0x3"
]
}show devuelve el resultado almacenado completo, incluidos request, source_sha256, request_sha256 y parameters. Primero comprueba que el SHA-256 del archivo sea igual al ID y que el archivo esté dentro de 65536 bytes, y después reproduce la solicitud integrada y compara todos los campos.
Resolver errores
Cuando el motor XLS rechaza una operación store, el comando termina con el estado de salida 2 y escribe un objeto altifigence.xls.error.v1 en la salida estándar. Lea su código y su mensaje:
alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/show.json" || true
jq -r '.error.code + ": " + .error.message' "$WORK/show.json"La CLI informa de XLS artifact id must be 64 lowercase hexadecimal characters en el error estándar con el prefijo error: y termina con el estado de salida 1 antes de ejecutar el motor. Lea este mensaje en el error estándar. Copie el id de store o de ids en list sin cambios.
Si aparece artifact-not-found: XLS store does not exist, pase el mismo --project que utilizó con store.
Si show informa de artifact-io: cannot access local XLS artifact store, ejecute list con el mismo --project y utilice un ID de ids.
Si aparece resource-limit: store listing exceeds 256 entries; use artifact-show with a known id, vuelva a abrir los resultados con show y los ID guardados de store.