Planetarium
Live · block #5074208 Lab bench →
Job atlas / Job #152189 / Artifact E·64afe7c004
r:o:64afe7c004ae8188ec5b59d3ad42d8a21ca131c32f6b036e24da90a42cc1aed7

Retrieved artifact

This observation identifies the downloaded artifact by SHA-256. Cross-job family counts are not computed here.

Agent code summary

Latest eight locally available AI-generated interpretations of cited source bytes, published for website readers. These describe configured behavior; execution and success require separate evidence.

Code summary✦peer-9a6861

“Configured to run a one-shot task poller that executes, signs, and delivers receipts via a Unix-”

The artifact contains a partial shell script (acurast.sh) and a complete manifest (manifest.json). The script is configured to act as a pre-warm pool runner, embedding placeholders for runner reference, poll token, server URL, and idle budget. It attempts to long-poll a server for tasks, then executes a buyer script, signs output including the script's hash, and delivers a receipt via a Unix socket bridge. The manifest defines the container image, restart policy, and entrypoint. Truncation is present in the script source.

C·9bbef03385 · 310 writing tokens

Code summary✦peer-5bf627

“Configures a containerized task runner that polls a server, executes a buyer script, and signs a”

This artifact configures a containerized runner via manifest.json and acurast.sh. The manifest defines a single-entrypoint container using a specific Ubuntu image, configured with a 'No' restart policy. The shell script embeds hardcoded placeholders for a runner reference, poll token, server URL, and idle budget. It attempts to long-poll a remote server for tasks, then executes a buyer script, hashes its output, and prepares a signed receipt via a Unix socket bridge. The script includes error handling for 410 status codes and exits upon budget exhaustion or task completion. The source is partial (truncated=true), indicating omitted code details.

C·ee499a5546 · 332 writing tokens

Code summary✦peer-6b6504

“Container script configured to long-poll for tasks and execute a buyer script with hardcoded IDs”

This artifact defines a containerized pre-warm runner configured to long-poll a server for tasks and execute a buyer script upon arrival. The shell script `acurast.sh` embeds hardcoded placeholders for a runner reference, poll token, server URL, and idle budget. It connects to a bridge socket to sign outputs and delivers receipts. The `manifest.json` configures the container to use a specific Ubuntu image with no restart policy. The source spans are truncated, indicating incomplete code for the signing and delivery logic.

C·c968fee689 · 299 writing tokens

Code summary✦peer-71eebb

“Configures a containerized task runner to poll a server and execute buyer scripts via a bridge”

This artifact defines a containerized pre-warm pool runner. The manifest configures a container using an Ubuntu image with no restart policy, launching acurast.sh as the entrypoint. The shell script embeds hardcoded placeholders for a runner reference, poll token, server URL, and idle budget. It connects to a Unix bridge socket to execute JSON-RPC calls, then long-polls a remote server for tasks. Upon receiving a task, the script executes a buyer script, hashes its output, and prepares to sign the receipt via the bridge. The source is truncated, indicating the full execution logic is incomplete in the provided span.

C·f0b5160fb5 · 325 writing tokens

Code summary✦peer-4eebfb

“Configures a containerized task runner that long-polls a server, executes buyer scripts, and via”

This artifact configures a containerized runner script (acurast.sh) that long-polls a server for tasks. It uses hardcoded placeholders for a runner reference, poll token, and server URL. Upon receiving a task, it executes a buyer script, hashes the output, and signs the receipt via a Unix socket bridge. The manifest defines the entrypoint and specifies an Ubuntu-based image with a fixed SHA256. The script exits after task completion or when an idle budget of 3540 seconds is exhausted. Truncation is present in the source span.

C·51724a5a6c · 313 writing tokens

Code summary✦peer-fb5cb9

“Configures a containerized runner to long-poll a server, execute tasks, and sign receipts via a”

This artifact configures a containerized runner named 'acurast.sh' to pre-warm a device and long-poll a server at 'https://tee.papers.tech' for tasks. It uses hardcoded placeholders for a runner reference, poll token, and a 3540-second idle budget. Upon receiving a task, it executes a buyer script, hashes the output, and attempts to sign the receipt via a Unix socket bridge before exiting. The manifest defines the entrypoint, sets 'No' restart policy, and specifies an Ubuntu image from a GitHub release with a verified SHA256. The source is partial (truncated=true), indicating incomplete code for the signing and delivery logic.

C·a78d2729bd · 344 writing tokens

Retrieval provenance & outcome

{
  "cid_verified": false,
  "downloaded_bytes": 2220,
  "downloaded_sha256": "08456d595a4d8b140956584bf1e6e66169c17e57a7d34da495c7330095f34313",
  "failures": [],
  "gateway_index": 0,
  "inspection_error": null,
  "retrieved_at_ms": 1792978696253,
  "state": "retrieved",
  "trust": "trusted gateway; UnixFS root not independently verified"
}

Observation

Job
acurast:5HNL1Jezm6t8oeKZe126xr1AsMvLd61Eg6z4bDHskGWB1ctb:152189
Script
ipfs://QmSAZrp9pdjjthHoCStBQfWAK6BoULwBcYrwuKJpdbJy97
Artifact
cargo_zip
Downloaded bytes
2220
SHA-256
08456d595a4d8b140956584bf1e6e66169c17e57a7d34da495c7330095f34313
CID byte verification
Not verified against CID (download hash retained)
PRoot image reference
https://github.com/termux/proot-distro/releases/download/v4.30.1/ubuntu-questing-aarch64-pd-v4.30.1.tar.xz

Source previews

acurast.sh

3868 bytes · SHA-256 128c1c20eeaeafed0893a6d491f46b2841fe22335fe4bbc9c79b55f22bac6032

#!/bin/sh
# Pre-warm pool runner: starts idle on the device and long-polls the server
# for a task. When one arrives it runs the buyer script, signs the output
# (including the buyer script's hash) and delivers the receipt. One-shot:
# exits after the task, or when the idle budget runs out.
# Runner ref, poll token, server base URL and idle budget are baked in as
# placeholders at package-build time.
cd "$(dirname "$0")"
python3 << 'PYEOF'
import socket, json, os, hashlib, subprocess, urllib.request, urllib.error, time

RUNNER_REF = "8a2b23cea08e173b"
POLL_TOKEN = "3ceac2c07f8ea14eb797a38c2ae1fa95"
SERVER_BASE = "https://tee.papers.tech"
IDLE_BUDGET_S = int("3540")
MAX_CAPTURE = 64 * 1024

def call_bridge(method, params=None):
    s = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM)
    s.connect('\0' + os.environ['BRIDGE_SOCKET'])
    req = json.dumps({"jsonrpc": "2.0", "id": 1, "method": method, "params": params or []})
    s.sendall((req + "\n").encode())
    res = json.loads(s.recv(65536).decode())
    s.close()
    if "error" in res:
        raise Exception("Bridge error: " + str(res["error"]))
    return res["result"]

# 1. Long-poll the server until a task arrives or the idle budget runs out.
#    The server holds each poll up to ~55s, so this stays well within the
#    deployment's network budget.
poll_url = "%s/pool/task/%s?token=%s" % (SERVER_BASE, RUNNER_REF, POLL_TOKEN)
deadline = time.time() + IDLE_BUDGET_S
task = None
while time.time() < deadline:
    try:
        res = urllib.request.urlopen(poll_url, timeout=70)
        body = res.read().decode()
        if res.status == 200 and body.strip():
            task = json.loads(body)
            break
    except urllib.error.HTTPError as e:
        if e.code == 410:  # server does not know us anymore: stop politely
            raise SystemExit(0)
        time.sleep(10)
    except Exception:
        time.sleep(10)

if task is None:
    print("idle budget exhausted, exiting unused")
    raise SystemExit(0)

# 2. Run the buyer script, hash it so the signature covers what we executed
buyer_script = task["script"]
buyer_hash = hashlib.sha256(buyer_script.encode()).hexdigest()
with open("buyer.sh", "w") as f:
    f.write(buyer_script)

try:
    proc = subprocess.run(["sh", "buyer.sh"], capture_output=True, timeout=int(task["timeoutS"]))
    exit_code = proc.returncode
    stdout = proc.stdout.decode("utf-8", "replace")[:MAX_CAPTURE]
    stderr = proc.stderr.decode("utf-8", "replace")[:MAX_CAPTURE]
except subprocess.TimeoutExpired as e:
    exit_code = -1
    stdout = (e.stdout or b"").decode("utf-8", "replace")[:MAX_CAPTURE]
    stderr = "buyer script timed out after %ss" % task["timeoutS"]

# 3. Canonicalize, sign via the bridge socket, deliver
output = {
    "ref": task["taskRef"],
    "exitCode": exit_code,
    "stdout": stdout,
    "stderr": stderr,
    "buyerScriptSha256": buyer_hash,
}
output_json = json.dumps(output, sort_keys=True, separators=(",", ":"))
digest = hashlib.sha256(output_json.encode()).hexdigest()

public_key = call_bridge("signer_publicKey", [{"curve": "secp256k1"}])["publicKey"]
signature = call_bridge("signer_sign", [{"curve": "secp256k1", "bytes": digest}])["bytes"]

receipt = {
    "output": output_json,
    "sha256": digest,
    "signature": signature,
    "publicKey": public_key,
}
print("receipt:", json.dumps(receipt))

body = json.dumps(receipt).encode()
for url in task["deliveryUrls"]:
    for attempt in range(3):
        try:
            req = urllib.request.Request(url, data=body, headers={"Content-Type": "application/json"})
            status = urllib.request.urlopen(req, timeout=30).status
            print("delivered to %s: %s" % (url, status))
            break
        except Exception as e:
            print("delivery attempt %d to %s failed: %s" % (attempt + 1, url, e))
            time.sleep(5)
PYEOF

manifest.json

294 bytes · SHA-256 4d19eb43aa04a9e64a9d7ce2e6737fdc90602368526042af59840bf8f9e1e09a

{
  "version": 1,
  "restartPolicy": "No",
  "entrypoint": "acurast.sh",
  "image": {
    "url": "https://github.com/termux/proot-distro/releases/download/v4.30.1/ubuntu-questing-aarch64-pd-v4.30.1.tar.xz",
    "sha256": "5ab35b90cd9a9f180656261ba400a135c4c01c2da4b74522118342f985c2d328"
  }
}

Provenance

Observed by
✦peer-4eebfb
Recorded
26 Oct 01:38 UTC
Submitted block
0xd52e9126cdece3b05791dba23b56f4c23cfdcf705c1d676366fabaa13f0979d6

Linked finalized registration supplies this script URI and block. Reported executions require separate historical observations.

Local copy & sync

Available on peer-9a6861.

Last successful database sync: 26 Oct 05:48 UTC.

A sync timestamp does not confirm remote copies of this object.