This fragment is generated from trustworthiness_checker::cli::args::Cli::command(); the hand-written semantic notes are in CLI notes and are included below.
These groups are the parser-level requirements and mutual-exclusion boundaries exposed by Clap. Additional cross-option validation is described in the surrounding reference pages.
core-dsrv — Core DSRV: the basic temporal language, for files without a language line distributed-dsrv — Distributed DSRV: DSRV with the distribution primitives, for files without a language line dsrv — DSRV runtime-verification language mstlo — Signal Temporal Logic properties monitored by the MSTLO runtime
dsrv
—
Specification language to use
—
model
<MODEL>
MODEL
1 value(s)
yes
—
—
—
—
Path to the model specification file
—
semantics
--semantics <SEMANTICS>
SEMANTICS
1 value(s)
no
—
causal — Causal-set explanations for DSRV on the semi-sync runtime delayed-qualitative delayed-quantitative eager-qualitative robustness-interval typed-untimed untimed — Untimed evaluation with gradual type checking and inference
buffered — Permit runtime-specific pipelining and output batching synchronous — Complete the current tick's downstream computation before accepting the next. This requires a runtime with a global logical-tick boundary
buffered
—
Input execution policy for Dataflow and MSTLO runtimes
—
io_shutdown_timeout_ms
--io-shutdown-timeout-ms <MILLISECONDS>
MILLISECONDS
1 value(s)
no
—
—
—
—
Whole graceful I/O shutdown limit; omitted means unlimited
Override the targeted Redis knowledge source database (default: 2)
Requires the Cargo feature redis.
redis_knowledge_keys
--redis-knowledge-key <INPUT=KEY>
INPUT=KEY
1 value(s); repeatable
no
—
—
—
—
Map a checker input variable to a Redis knowledge key; repeatable
Requires the Cargo feature redis.
redis_knowledge_no_initial
--redis-knowledge-no-initial
flag (no value)
no
—
—
false
redis_knowledge_publish_initial
Disable the Redis knowledge initial snapshot
Requires the Cargo feature redis.
redis_knowledge_publish_initial
--redis-knowledge-publish-initial <BOOL>
BOOL
1 value(s)
no
—
false true
—
redis_knowledge_no_initial
Override whether Redis knowledge emits its initial snapshot into the checker input stream (true or false); this does not publish a Redis Pub/Sub message
Run the main binary as trustworthiness_checker MODEL INPUT_SELECTION [OUTPUT_SELECTION]. From a repository checkout, use cargo run -- MODEL .... Exactly one member of the InputMode group is required. The OutputSelection group is optional: when no output member is selected, the adapter falls back to stdout.
The default values are DSRV, untimed with gradual typing, the dataflow runtime, and buffered execution. The default distributed mode is centralised. These defaults are parser defaults; a parsed command still has to pass runtime, language, feature, and resource validation.
--language mstlo selects the MSTLO runtime. Omit --runtime; an explicit runtime is rejected.
DSRV accepts untimed (gradual typing), typed-untimed (strict typing), or causal through the CLI. Causal sets require --runtime semi-sync; they do not support async, dataflow, distributed, or reconfigurable runtimes. The DSRV distributed runtime accepts only untimed.
gradual-typed-untimed remains an accepted compatibility alias for untimed; help and generated reference show the canonical name.
For DSRV, --execution-policy synchronous requires the dataflow or reconf-dataflow runtime. MSTLO carries the selected policy in its automatically selected runtime. The policy is an input/evaluation boundary, not a transport transaction.
--input-file is rejected with reconf-semi-sync and reconf-dataflow. Reconfiguration needs a live, control-capable source.
--reconf-topic and --no-context-transfer require a reconfigurable runtime. The selected control route is the configured route, the CLI override, or reconf when no route is supplied.
--input-window-mode requires --input-window-ms or --input-window-update-limit. For file input, atomic-step also requires an update limit.
Redis knowledge options require --redis-knowledge-input or --input-config; --redis-knowledge-source requires --input-config. Redis knowledge input is not supported for MSTLO.
MQTT input and output use rumqttc, with --mqtt-protocol 3.1.1|5 selecting the protocol for shortcut inputs and outputs. Named MQTT sources and destinations use their own protocol field; an input source without the field inherits the CLI selection, while an output destination without it defaults to 3.1.1. The former implementation-selector flags are no longer accepted.
--distributed-work is present in generated parser metadata and requires --local-node, but the current adapter/runtime construction does not consume it to establish the waiting behavior described by its Clap help. Do not use it as an operational contract.
MQTT is always compiled; Redis is enabled by default. ROS routes, ROS distribution, and ROS scheduling require --features ros plus a sourced ROS 2 environment and interface overlay. SAT-backed distribution solving requires --features sat. Parsing an option does not prove that its external broker, ROS graph, or feature-gated backend can be opened.
The stdout sink writes <variable>[<zero-based row>] = <rendered value>. Ordinary DSRV values use source syntax; MSTLO values use JSON. Causal DSRV writes a JSON report containing value and causality after the same prefix. Redis carries that report directly; MQTT keeps its usual {"value": REPORT} envelope. Non-finite floats use JSON5. See causal-set output for a complete example and limitations. The sink suppresses auxiliary and NoVal outputs. Tracing defaults to stderr and can be appended to a file with --log-file PATH. File input is finite; live transports remain in the foreground until source/process termination or error. The checker currently has no separate readiness endpoint, custom signal handler, or cross-destination transaction.