Score & Proofs CLI Reference

Audience: DevOps engineers, security analysts, and CI authors working with score replay and proof bundles. Score contract update (PCD-429, 2026-10-07). The registered score group exposes Scanner replay, bundle metadata and verification, plus Signals digest explanation. See score replay commands for source pointers and re-verification. The proof-command sections below retain their separate scope.

Overview

The score replay, score bundle, and score verify commands call the configured Scanner owner through the Backend Router. stella score explain reads Signals by digest. These score commands require service connectivity; the registered score group has no offline replay flag. Proof-bundle commands are documented separately below.


Commands

stella score

Replay and verify Scanner scores, read bundle metadata, or explain a Signals digest.

stella score <SUBCOMMAND> [OPTIONS]

Subcommands

SubcommandDescription
replayReplay scoring for a scan using its stored manifest
bundleRead Scanner-side proof bundle metadata
verifyVerify a Scanner bundle against an expected root and optional canonical binding
explainRead the Signals score explanation for a digest

stella score replay

Replay score computation for an existing scan through POST /api/v1/scans/{scanId}/score/replay.

stella score replay [OPTIONS]

Options

OptionDescriptionDefault
--scan, -sScan identifierRequired
--manifest-hash, -mSelect stored manifestOwner selection
--freeze, -fISO 8601 freeze timestampManifest creation time
--output, -oFormat: text, jsontext

Examples

stella score replay --scan 00000000-0000-0000-0000-000000000123 --output json
stella score replay --scan 00000000-0000-0000-0000-000000000123 --freeze 2026-10-06T00:00:00Z

stella score bundle

Read metadata through GET /api/v1/scans/{scanId}/score/bundle. The response carries scanId, rootHash, bundleUri, manifestDsseValid, and createdAt; the CLI does not download the server-side archive.

stella score bundle --scan 00000000-0000-0000-0000-000000000123 --output json

Options

OptionDescriptionDefault
--scan, -sScan identifierRequired
--output, -oFormat: text, jsontext

stella score verify

Verify a Scanner bundle through POST /api/v1/scans/{scanId}/score/verify.

stella score verify --scan <SCAN-ID> --root-hash <HASH> [OPTIONS]

Options

OptionDescriptionDefault
--scan, -sScan identifierRequired
--root-hash, -rExpected root hash; selects the scan’s stored bundleRequired
--canonical-input-hashExpected canonical input hash—
--canonical-input-payloadUTF-8 JSON file path, at most 1 MiB; exact text retained—
--output, -oFormat: text, jsontext

Examples

stella score verify --scan 00000000-0000-0000-0000-000000000123 --root-hash sha256:def456 --output json
stella score verify --scan 00000000-0000-0000-0000-000000000123 --root-hash sha256:def456 --canonical-input-hash sha256:abc123 --canonical-input-payload canonical-input.json

stella score explain

Read the Signals explanation for a digest through /api/v1/score/explain/{digest}.

stella score explain sha256:abc123 --format json

Options

OptionDescriptionDefault
--format, -fFormat: table, json, markdowntable
--serverBackend Router URLConfigured backend

All four verbs accept --verbose. Scanner replay and verify request scanner:read scanner:write; bundle requests scanner:read. Signals explanation uses Score.Read and score.read. Score transport uses existing Authority credentials and the effective tenant. The common proof connection/environment tables below do not define score options.

Replay JSON preserves factor vectors, canonical input binding and verification status. Verification JSON preserves computed/expected roots, component validity flags, canonical hashes, verification time and owner error. HTTP 200 valid:false exits 2; provider and malformed-response failures emit sanitized success:false JSON without a fabricated domain result. The score replay guide describes exact payload handling, restart verification and the limits of route/DTO test evidence.

The legacy unregistered ScoreCommandGroup and its shape-only tests were withdrawn under PCD-429. Direct score compute, show, diff, manifest, inputs, history, and compare are not registered CLI verbs.


Proof Commands

stella proof

Manage proof bundles.

stella proof <SUBCOMMAND> [OPTIONS]

Subcommands

SubcommandDescription
verifyVerify a proof bundle
downloadDownload proof bundle
exportExport proof bundle
inspectInspect proof bundle contents
statusCheck proof status
listList proofs for a scan
retrieveRetrieve from cold storage

stella proof verify

Verify a proof bundle.

stella proof verify [OPTIONS]

Options

OptionDescriptionDefault
--bundle-id <HASH>Proof bundle ID (sha256:…)—
--bundle <PATH>Local proof bundle file—
--offlineSkip Rekor verificationfalse
--skip-rekorAlias for --offlinefalse
--check-rekorForce Rekor verificationfalse
--trust-anchor <PATH>Trust anchor fileSystem default
--public-key <PATH>Public key file—
--self-containedUse embedded trust anchorsfalse
--verboseShow detailed verificationfalse
--check <CHECK>Verify specific check onlyAll

Verification Checks

CheckDescription
signatureValidDSSE signature verification
idRecomputedContent-addressed ID match
merklePathValidMerkle tree construction
rekorInclusionTransparency log entry

Examples

# Verify online
stella proof verify --bundle-id sha256:proof123...

# Verify offline
stella proof verify --bundle proof.zip --offline

# Verify with specific trust anchor
stella proof verify --bundle proof.zip --offline --trust-anchor anchors.json

# Verify specific check
stella proof verify --bundle-id sha256:proof123... --check signatureValid

stella proof download

Download proof bundle.

stella proof download [OPTIONS]

Options

OptionDescriptionDefault
--scan-id <ID>Scan IDRequired
--root-hash <HASH>Specific proof root hashLatest
--output <PATH>Output file pathproof-{scanId}.zip
--allDownload all proofs for scanfalse
--output-dir <PATH>Output directory (with --all).

Examples

# Download latest proof
stella proof download --scan-id $SCAN_ID --output proof.zip

# Download specific proof
stella proof download --scan-id $SCAN_ID --root-hash sha256:proof123... --output proof.zip

# Download all proofs
stella proof download --scan-id $SCAN_ID --all --output-dir ./proofs/

stella proof export

Export proof bundle with additional data.

stella proof export [OPTIONS]

Options

OptionDescriptionDefault
--scan-id <ID>Scan IDRequired
--portableCreate self-contained portable bundlefalse
--include-manifestInclude scan manifesttrue
--include-chainInclude full proof chainfalse
--include-trust-anchorsInclude trust anchor keysfalse
--output <PATH>Output file pathRequired

Examples

# Export standard bundle
stella proof export --scan-id $SCAN_ID --output proof-bundle.zip

# Export portable bundle (for offline verification)
stella proof export --scan-id $SCAN_ID --portable --include-trust-anchors --output portable.zip

# Export with full chain
stella proof export --scan-id $SCAN_ID --include-chain --output full-bundle.zip

stella proof inspect

Inspect proof bundle contents.

stella proof inspect [OPTIONS]

Options

OptionDescriptionDefault
--bundle <PATH>Proof bundle fileRequired
--output-dir <PATH>Extract to directory—
--show-manifestDisplay manifestfalse
--show-proofDisplay proof nodesfalse
--show-metaDisplay metadatafalse

Examples

# List bundle contents
stella proof inspect --bundle proof.zip

# Extract and inspect
stella proof inspect --bundle proof.zip --output-dir ./inspection/

# Show manifest
stella proof inspect --bundle proof.zip --show-manifest

Common Options

Authentication

OptionDescription
--token <TOKEN>OAuth bearer token
--token-file <PATH>File containing token
--profile <NAME>Use named profile

Output

OptionDescription
--quietSuppress non-error output
--verboseEnable verbose output
--debugEnable debug logging
--no-colorDisable colored output

Connection

OptionDescription
--endpoint <URL>Scanner API endpoint
--timeout <DURATION>Request timeout (e.g., 30s, 5m)
--insecureSkip TLS verification (dev only)

Environment Variables

VariableDescriptionEquivalent Option
STELLA_TOKENOAuth token--token
STELLA_ENDPOINTAPI endpoint--endpoint
STELLA_PROFILEProfile name--profile
STELLA_OFFLINEOffline mode--offline
STELLA_TRUST_ANCHORTrust anchor path--trust-anchor

Exit Codes

The proof table below does not define score exit codes. Scanner score operations exit 0 on success, 2 on a valid verification refusal, and nonzero on operational failures. Signals explanation uses ScoreExitCodes; see score replay commands.

CodeMeaning
0Success
1General error
2Invalid arguments
3Authentication failed
4Resource not found
5Verification failed
6Network error
10Timeout