Skip to content

cari-daal/custom-method-eval

v0.1.0

Package, submit, recover and cancel versioned external evaluation methods.

Custom method evaluation client

This portable plugin uses the explicit custom-method-v1 contract. Its skill and standalone standard-library CLI support packaging, method/alias registration, artifact upload/download, submission, polling, cancellation and recovery. It is independent of the Triton client.

Distribute this directory as one plugin, including the hidden compatibility manifests. The script runs with Python 3.10+ and does not import the service, Torch, candidate code or method code locally. Set EVALUATION_URL and EVALUATION_CAPABILITY_FILE, or pass --url / --capability-file.

Use custom_method_eval.py --help and each subcommand's --help for exact options. submit requires --save-handle: the handle is written privately before POST and stores the original owner, idempotency key and submission, never credentials. After an ambiguous submission, recover --handle ... replays that same request on its original owner. Changing --url to another instance is rejected.

Exit codes: 0 for a successful client operation/completed method, 1 for a checker false result, 2 for request/transport/method/protocol failures, 3 for a cancelled execution. A harness completing is not proof its benchmark passed: inspect its report and upstream exit/score fields. --no-wait returns accepted state without cancelling work; client wait expiry also leaves execution alive.

Input/source artifacts are bounded at 1 MiB by the current service contract. The client reads only explicitly listed source files and rejects symlink/path escape. Artifact downloads verify digest and size before replacing the output. Parameter/schema and runtime requirements are validated by the service; this client does not convert unknown settings into another evaluation protocol.