Comprobar el entorno de ejecución de Tcl y evaluar un script acotado

Lea los descriptores del entorno de ejecución de Tcl y el registro firmado de preparación y, después, evalúe un script acotado desde stdin y compruebe su comprobante.

Utilice Altifigence CLI 0.1.9 en Linux para leer los descriptores del entorno de ejecución de Tcl instalado, confirmar el registro firmado de preparación del entorno de ejecución y evaluar un script Tcl acotado mediante el ejecutor instalado.

Leer los descriptores del entorno de ejecución

Ejecute los comandos con su usuario habitual. Cada consulta responde a partir de los descriptores empaquetados de alti-tcl e imprime JSON.

alti tcl capabilities
alti tcl environment
alti tcl commands

alti tcl commands enumera los comandos de producto registrados y la disponibilidad de cada uno. Conserve su salida con sus scripts.

Comprobar el entorno de ejecución firmado

Lea el registro firmado de preparación del entorno de ejecución. Esta consulta no ejecuta Tcl.

set -euo pipefail
WORK="$(mktemp -d)"
alti tcl readiness > "$WORK/readiness.json"
jq '{schemaVersion, installedQualified, cryptographicVerifierLinked, blocker}' \
  "$WORK/readiness.json"

Compruebe que el estado de salida sea 0 y que se obtengan estos valores antes de evaluar un script:

{
  "schemaVersion": "altifigence.eda-tcl-runtime-component-readiness.v1",
  "installedQualified": true,
  "cryptographicVerifierLinked": true,
  "blocker": null
}

Evaluar un script

Pase el script por stdin y guarde el comprobante:

printf '%s' 'expr {6 * 7}' | alti --json tcl evaluate > "$WORK/tcl-evaluate.json"
jq '{schema, status, inputBytes, result, resultBytes, resultArtifactId, failure}' \
  "$WORK/tcl-evaluate.json"

Compruebe que el estado de salida sea 0. Los campos seleccionados del comprobante son:

{
  "schema": "altifigence.cli.tcl-evaluation.v1",
  "status": "succeeded",
  "inputBytes": 12,
  "result": "42",
  "resultBytes": 2,
  "resultArtifactId": "tcl-evaluation",
  "failure": null
}

El comprobante también tiene inputSha256, jobSha256, resultArtifactSha256 y provenance. En provenance, resolved_placement es local, resolved_device_class es cpu y backend_id es embedded-tcl.

Sin --json, el comando escribe el resultado en stdout y una línea de resumen en stderr:

printf '%s' 'expr {6 * 7}' | alti tcl evaluate
42
[succeeded] tcl.evaluate input=12 sha256=e96de7a3a920d7cd5aafa8c86630028d97a0fb0dc260da2f089de12ea4214a6f artifact=tcl-evaluation

Cada ejecución lee un script de hasta 4194304 bytes. La CLI lo escribe en un espacio de trabajo privado bajo /tmp, lo ejecuta como un trabajo local de CPU con 1 slot de CPU, 536870912 bytes de memoria y un límite de tiempo real de 5000 ms, vuelve a leer el resultado del ejecutor y elimina el espacio de trabajo.

Resolver una evaluación fallida

Con --json, lea failure.code y failure.message en el comprobante. Sin esta opción, stderr muestra Tcl evaluation failed: seguido del código.

TCL_INPUT_EMPTY con Tcl input must not be empty. termina con el estado de salida 2. Canalice un script que no esté vacío y ejecute el comando de nuevo.

TCL_INPUT_TOO_LARGE con Tcl input exceeds the 4194304-byte limit. termina con el estado de salida 2. Mantenga el script dentro de 4194304 bytes.

status failed con failure.code eda-tcl.local-runner.unsupported-command y el mensaje local Tcl evaluation failed within the requested boundary termina con el estado de salida 1. Para los comandos de producto, elija una entrada con availability available de alti tcl commands, como ::alti::echo o ::alti::capabilities.

TCL_INSTALLED_RUNNER_UNAVAILABLE con The installed qualified Tcl runner is unavailable. termina con el estado de salida 127. Ejecute el alti que instaló el bootstrap 0.1.9 y, después, vuelva a comprobar alti tcl readiness.

Comandos de motor de la CLI