Verificar o runtime do Tcl e avaliar um script limitado

Leia os descritores do runtime do Tcl e o registro assinado de prontidão e, depois, avalie um script limitado vindo de stdin e verifique o comprovante dele.

Use o Altifigence CLI 0.1.9 no Linux para ler os descritores do runtime do Tcl instalado, confirmar o registro assinado de prontidão do runtime e avaliar um script Tcl limitado por meio do executor instalado.

Ler os descritores do runtime

Execute os comandos com sua conta de usuário comum. Cada consulta responde a partir dos descritores empacotados de alti-tcl e imprime JSON.

alti tcl capabilities
alti tcl environment
alti tcl commands

alti tcl commands lista os comandos de produto registrados e a disponibilidade de cada comando. Guarde a saída com seus scripts.

Verificar o runtime assinado

Leia o registro assinado de prontidão do runtime. Esta consulta não executa Tcl.

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

Exija o status de saída 0 e estes valores antes de avaliar um script:

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

Avaliar um script

Passe o script por stdin e salve o comprovante:

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"

Exija o status de saída 0. Os campos selecionados do comprovante são:

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

O comprovante também tem inputSha256, jobSha256, resultArtifactSha256 e provenance. Em provenance, resolved_placement é local, resolved_device_class é cpu e backend_id é embedded-tcl.

Sem --json, o comando grava o resultado em stdout e uma linha de resumo em stderr:

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

Cada execução lê um script de até 4194304 bytes. A CLI o grava em um espaço de trabalho privado dentro de /tmp, o executa como uma tarefa local de CPU com 1 slot de CPU, 536870912 bytes de memória e um limite de tempo real de 5000 ms, lê o resultado de volta do executor e remove o espaço de trabalho.

Resolver uma falha de avaliação

Com --json, leia failure.code e failure.message no comprovante. Sem essa opção, stderr mostra Tcl evaluation failed: seguido do código.

TCL_INPUT_EMPTY com Tcl input must not be empty. termina com o status de saída 2. Envie por pipe um script não vazio e execute o comando novamente.

TCL_INPUT_TOO_LARGE com Tcl input exceeds the 4194304-byte limit. termina com o status de saída 2. Mantenha o script em até 4194304 bytes.

status failed com failure.code eda-tcl.local-runner.unsupported-command e a mensagem local Tcl evaluation failed within the requested boundary termina com status de saída 1. Para comandos de produto, escolha uma entrada com availability available de alti tcl commands, como ::alti::echo ou ::alti::capabilities.

TCL_INSTALLED_RUNNER_UNAVAILABLE com The installed qualified Tcl runner is unavailable. termina com o status de saída 127. Execute o alti que o bootstrap 0.1.9 instalou e, depois, verifique alti tcl readiness novamente.

Comandos de engine da CLI