Tcl रनटाइम जाँचें और सीमाबद्ध स्क्रिप्ट का मूल्यांकन करें

Tcl रनटाइम डिस्क्रिप्टर और हस्ताक्षरित तैयारी रिकॉर्ड पढ़ें, फिर stdin से एक सीमाबद्ध स्क्रिप्ट का मूल्यांकन करें और उसकी रसीद जाँचें।

Linux पर Altifigence CLI 0.1.9 से इंस्टॉल किए गए Tcl रनटाइम डिस्क्रिप्टर पढ़ें, हस्ताक्षरित रनटाइम तैयारी रिकॉर्ड की पुष्टि करें और इंस्टॉल किए गए रनर से एक सीमाबद्ध Tcl स्क्रिप्ट का मूल्यांकन करें।

रनटाइम डिस्क्रिप्टर पढ़ें

कमांड अपने सामान्य उपयोगकर्ता खाते से चलाएँ। हर क्वेरी पैकेज किए गए alti-tcl डिस्क्रिप्टर से उत्तर देती है और JSON प्रिंट करती है।

alti tcl capabilities
alti tcl environment
alti tcl commands

alti tcl commands पंजीकृत उत्पाद कमांड और हर कमांड की उपलब्धता सूचीबद्ध करता है। उसका आउटपुट अपनी स्क्रिप्टों के साथ रखें।

हस्ताक्षरित रनटाइम जाँचें

हस्ताक्षरित रनटाइम तैयारी रिकॉर्ड पढ़ें। यह क्वेरी Tcl नहीं चलाती।

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

स्क्रिप्ट का मूल्यांकन करने से पहले सुनिश्चित करें कि एग्ज़िट स्टेटस 0 हो और ये मान मिलें:

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

स्क्रिप्ट का मूल्यांकन करें

स्क्रिप्ट stdin पर दें और रसीद सहेजें:

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"

सुनिश्चित करें कि एग्ज़िट स्टेटस 0 हो। रसीद के चुने हुए फ़ील्ड ये हैं:

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

रसीद में inputSha256, jobSha256, resultArtifactSha256 और provenance भी होते हैं। provenance में resolved_placement का मान local, resolved_device_class का मान cpu और backend_id का मान embedded-tcl है।

--json के बिना कमांड परिणाम stdout पर और सारांश पंक्ति stderr पर लिखता है:

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

हर रन 4194304 बाइट तक की एक स्क्रिप्ट पढ़ता है। CLI उसे /tmp के नीचे एक निजी वर्कस्पेस में लिखता है, उसे 1 CPU स्लॉट, 536870912 बाइट मेमोरी और 5000 ms की वॉल-टाइम सीमा वाले लोकल CPU जॉब के रूप में चलाता है, रनर से परिणाम वापस पढ़ता है और वर्कस्पेस हटा देता है।

विफल मूल्यांकन के बाद सुधार करें

--json के साथ रसीद में failure.code और failure.message पढ़ें। उसके बिना stderr में Tcl evaluation failed: के बाद कोड दिखता है।

Tcl input must not be empty. वाला TCL_INPUT_EMPTY स्टेटस 2 के साथ समाप्त होता है। खाली न होने वाली स्क्रिप्ट पाइप करें और कमांड फिर चलाएँ।

Tcl input exceeds the 4194304-byte limit. वाला TCL_INPUT_TOO_LARGE स्टेटस 2 के साथ समाप्त होता है। स्क्रिप्ट को 4194304 बाइट के भीतर रखें।

status failed, failure.code eda-tcl.local-runner.unsupported-command और संदेश local Tcl evaluation failed within the requested boundary वाला परिणाम स्टेटस 1 के साथ समाप्त होता है। उत्पाद कमांड के लिए alti tcl commands से availability available वाली प्रविष्टि चुनें, जैसे ::alti::echo या ::alti::capabilities।

The installed qualified Tcl runner is unavailable. वाला TCL_INSTALLED_RUNNER_UNAVAILABLE स्टेटस 127 के साथ समाप्त होता है। वही alti चलाएँ जिसे 0.1.9 बूटस्ट्रैप ने इंस्टॉल किया था, फिर alti tcl readiness दोबारा जाँचें।

CLI इंजन कमांड