Enregistrer, lister et rouvrir des résultats XLS locaux
Exécutez une requête XLS native vers le magasin de résultats du projet, listez les résultats enregistrés et rouvrez-en un par son ID de contenu.
Utilisez Altifigence CLI 0.1.9 sous Linux pour conserver des résultats XLS natifs dans un projet local. Chaque résultat enregistré est vérifié en rejouant sa requête intégrée sur le CPU lorsqu’il est enregistré, listé et rouvert.
Enregistrer un résultat
Utilisez un chemin absolu vers votre projet local. Cet exemple utilise $HOME/alti-projects/demo-project. Enregistrez une requête d’opération 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 exécute l’opération nommée dans la requête, rejoue le résultat et l’enregistre. Vérifiez que le code de sortie est 0. Les champs de référence sélectionnés sont :
{
"schema": "altifigence.xls.artifact-ref.v1",
"result_schema": "altifigence.xls.operation-result.v1",
"replay_verified": true
}id et sha256 contiennent la même valeur : le SHA-256 du résultat enregistré, soit 64 caractères hexadécimaux en minuscules. Le résultat est enregistré sous .altifigence/xls/artifacts/<id>.json dans le dossier indiqué par --project. Sans --project, le dossier courant est utilisé. Les requêtes optimize et codegen enregistrent des résultats altifigence.xls.operation-result.v2 qui incluent compilation. Enregistrer de nouveau la même requête renvoie le même id.
Lister les résultats enregistrés
alti xls artifact list --project "$PROJECT" > "$WORK/list.json"
jq '{schema, limit, replay_verified, ids}' "$WORK/list.json"ids contient les ID enregistrés dans l’ordre trié. Avant le listage, chaque résultat enregistré est vérifié par rapport à son ID et rejoué. La liste couvre jusqu’à 256 entrées. Un projet sans résultat enregistré renvoie un tableau ids vide. Les résultats publiés par alti xls run sont conservés dans le même magasin et apparaissent dans la même liste.
Rouvrir un résultat
alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/result.json"
jq '{schema, status, outputs}' "$WORK/result.json"Après le code de sortie 0, les champs sélectionnés sont :
{
"schema": "altifigence.xls.operation-result.v1",
"status": "succeeded",
"outputs": [
"bits[8]:0x3"
]
}show renvoie le résultat enregistré complet, y compris request, source_sha256, request_sha256 et parameters. La commande vérifie d’abord que le SHA-256 du fichier est égal à l’ID et que le fichier ne dépasse pas 65536 octets, puis rejoue la requête intégrée et compare chaque champ.
Reprendre après des erreurs
Lorsque le moteur XLS rejette une opération de store, la commande se termine avec le code de sortie 2 et écrit sur la sortie standard un objet altifigence.xls.error.v1. Lisez son code et son message :
alti xls artifact show --project "$PROJECT" "$ID" > "$WORK/show.json" || true
jq -r '.error.code + ": " + .error.message' "$WORK/show.json"La CLI signale XLS artifact id must be 64 lowercase hexadecimal characters sur l’erreur standard avec le préfixe error: et se termine avec le code de sortie 1 avant d’exécuter le moteur. Lisez ce message sur l’erreur standard. Copiez l’id de store ou de ids dans list sans le modifier.
Pour artifact-not-found: XLS store does not exist, transmettez le même --project que celui utilisé avec store.
Pour artifact-io: cannot access local XLS artifact store depuis show, exécutez list avec le même --project et utilisez un ID de ids.
Pour resource-limit: store listing exceeds 256 entries; use artifact-show with a known id, rouvrez les résultats avec show et les ID enregistrés depuis store.