Command reference#
Generated from bitexact --help by tools/gen_reference.py; do not edit by hand.
The entitlement a command requires is listed in the CLI table at https://bitexact.dev/guide.html#cli.
Without a valid license only bitexact capture keygen, bitexact keygen, bitexact license, bitexact pki, bitexact recorder-key, bitexact version and bitexact witness answer. bitexact collector, bitexact mcp-proxy, bitexact recorder and bitexact serve start in any license state and check the license on each call: they pass the agents' traffic through, or declare a gap, rather than record.
usage: bitexact [-h]
{list,show,export,provenance-bundle,evidence-pack,workflow,drift,health,events,coverage,case,suite,redaction,retention,cost,keygen,recorder-key,license,version,view,repair,redact,reindex,db-grant-viewer,archive,db-transfer,seed,quickstart,seal,regress,fork-matrix,fork-matrix-compare,forks,purge,hold,release-hold,verify,verify-report,otel-export,receipts,verify-receipts,qualify,serve,mcp-proxy,pki,recorder,log,capture,witness,collector,lint,roles,strict,anchor} ...
BitExact flight recorder
positional arguments:
{list,show,export,provenance-bundle,evidence-pack,workflow,drift,health,events,coverage,case,suite,redaction,retention,cost,keygen,recorder-key,license,version,view,repair,redact,reindex,db-grant-viewer,archive,db-transfer,seed,quickstart,seal,regress,fork-matrix,fork-matrix-compare,forks,purge,hold,release-hold,verify,verify-report,otel-export,receipts,verify-receipts,qualify,serve,mcp-proxy,pki,recorder,log,capture,witness,collector,lint,roles,strict,anchor}
list list recorded runs
show show a run's verified steps
export export a verified run bundle
provenance-bundle package a run and its descendant forks/matrix as a
verifiable BagIt bag
evidence-pack assemble a workpaper-shaped, independently-verifiable
evidence pack for a run
workflow governance acts on a workflow's tamper-evident ledger
(recorded, never enforced)
drift report composition drift for a workflow (a CI pre-
flight to regress)
health store health for ops: verify/seal/anchor/recording
alerts + capacity (exit 2 on critical - a monitor
gate)
events event delivery: check the configuration, the outbox
and its dead letters, retry and test delivery,
Standard Webhooks secrets, and checking a delivery as
a receiver would
coverage capture-coverage: the corpus report of recorded
surfaces and capture-health (honest - never a
completeness measure), and the declared capture
sources
case an investigation case: pin runs, record
notes/assignees/findings on a tamper-evident ledger
(recorded, never enforced)
suite regression suites: save a corpus+recipe, run it as a
CI gate, compare two implementations on the same roots
redaction dual-control (two-person) redaction lifecycle:
request, approve (by a different principal), reject,
status
retention per-workflow retention report: committed deadlines vs
the declared schedule and legal holds
cost token usage per run, workflow, principal and agent,
priced from your own pricing table (derived, never
evidence)
keygen generate a hybrid signing key: ed25519 and its post-
quantum (ML-DSA) half
recorder-key print the public half of the configured recorder key
license show offline license status and standing; request and
install the 90-day renewal
version print the installed version
view browse, verify and fork recorded runs
repair quarantine a torn manifest tail and write journaled
entries a crash left into the chain
redact redact committed fields in the stored manifest
reindex rebuild index.db from manifests
db-grant-viewer let a PostgreSQL role read the store and write only
the inspector's operational records - never a chain -
so a viewer connected as it cannot append evidence
however it is driven. Run with the recorder's
BITEXACT_DATABASE_URL
archive export runs past the hot window to the archive and
drop them
db-transfer copy this install's evidence into a PostgreSQL
database
seed record a real, offline sample run so a fresh install
is never empty
quickstart print a copy-paste first-run on-ramp
seal close a proxy-recorded run with a run_end seal
regress regress recorded runs against changed code (nonzero
exit on proven divergence - a CI gate)
fork-matrix N live forks from a step; aggregate outcomes
fork-matrix-compare
set two fork-matrix reports at one fork point side by
side
forks print the fork provenance tree
purge archive or delete runs older than a cutoff
hold place a legal hold so purge refuses a run
release-hold release a legal hold, making a run purgeable
verify verify a run's chain
verify-report verify a signed regress-suite or qualification report
otel-export export a verified run as OTel GenAI spans (OTLP/JSON)
receipts export a verified run's model calls as signed
attestation receipts (IETF draft)
verify-receipts verify attestation receipts against a pinned key
qualify measure a model config's determinism
serve run the recording proxy
mcp-proxy relay an MCP server, recording every tools/call
pki create a CA and issue recorder and host certificates
recorder run the recorder service for host collectors
log the transparency log of every run head the recorder
signed: checkpoint, witness, audit
capture the capture policy: what the evidence keeps of each
field - scrubbed, hash-only or kept
witness cosign transparency-log checkpoints that extend the
last one cosigned (run by an independent party)
collector run this host's collector for the recorder
lint flag nondeterminism replay cannot capture
roles define custom roles and bind your IdP's groups to them
strict structural completeness checks for a run (a CI gate)
anchor externally anchor a run's head (WORM / RFC 3161) and
detect rollback
options:
-h, --help show this help message and exit
exit codes (each command's --help lists its own):
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
3 verified, with declared capture gaps - an intact record of an
incomplete capture
bitexact anchor#
usage: bitexact anchor [-h] {export,timestamp,verify} ...
positional arguments:
{export,timestamp,verify}
export write a recorder-signed WORM anchor of the head
timestamp obtain an RFC 3161 timestamp of the head
verify verify anchors against the current store; rollback
below an anchor fails loud
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact anchor export#
usage: bitexact anchor export [-h] [--key KEY] [-o OUTPUT] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--key KEY path to the recorder ed25519 key file
-o, --output OUTPUT
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact anchor timestamp#
usage: bitexact anchor timestamp [-h] --tsa TSA [--nonce NONCE] [-o OUTPUT]
run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--tsa TSA RFC 3161 TSA URL (customer-configured); only the head
imprint is sent
--nonce NONCE
-o, --output OUTPUT
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact anchor verify#
usage: bitexact anchor verify [-h] [--anchor ANCHOR]
[--expect-recorder-key HEX]
[--expect-tsa EXPECT_TSA]
run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--anchor ANCHOR an anchor JSON file (else the run's sidecar)
--expect-recorder-key HEX
pin this recorder public key in place of the license's
recorder_keys: the run's checkpoints and every worm
anchor must be signed by it
--expect-tsa EXPECT_TSA
require rfc3161 tokens from this TSA certificate
(PEM/DER file)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact archive#
usage: bitexact archive [-h] --to TO [--keep-months KEEP_MONTHS]
[--before YYYY-MM] [--no-drop]
options:
-h, --help show this help message and exit
--to TO archive directory - point it at immutable (WORM /
object-lock) storage; the bundles written here are the
long-term evidence
--keep-months KEEP_MONTHS
months to keep queryable (defaults to
$BITEXACT_HOT_MONTHS)
--before YYYY-MM archive everything before this month instead of using
the hot window - for a deliberate one-off rather than
the routine sweep
--no-drop write the archive but keep the runs - a dry run for
the first time you do this against real evidence
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when a run failed to archive or a month could not be dropped
bitexact capture#
usage: bitexact capture [-h] COMMAND ...
positional arguments:
COMMAND
policy show the policy in force, or check one
test what the policy in force scrubs from a text
keygen write a new capture key, owner-only
journal the bytes of a stream journal a failed finalization left behind,
opened with this host's key ($BITEXACT_HOST_KEY) - only the host
that sealed it can
backfill file one dual-control redaction request for every field of a
recorded run the policy in force would not have kept; history is
never rewritten
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact capture backfill#
usage: bitexact capture backfill [-h] --run RUN [--by BY] [--role ROLE]
options:
-h, --help show this help message and exit
--run RUN the run to backfill
--by BY the principal requesting (default: OS user)
--role ROLE the principal's role (recorded in custody)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact capture journal#
usage: bitexact capture journal [-h] [-o OUTPUT] file
positional arguments:
file
options:
-h, --help show this help message and exit
-o, --output OUTPUT write them to a new file, owner-only
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact capture keygen#
usage: bitexact capture keygen [-h] -o OUTPUT
options:
-h, --help show this help message and exit
-o, --output OUTPUT
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact capture policy#
usage: bitexact capture policy [-h] COMMAND ...
positional arguments:
COMMAND
show the policy in force, its digest and key
check whether a policy file is usable
digest a policy file's digest, as runs name it
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact capture policy check#
usage: bitexact capture policy check [-h] file
positional arguments:
file
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact capture policy digest#
usage: bitexact capture policy digest [-h] file
positional arguments:
file
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact capture policy show#
usage: bitexact capture policy show [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact capture test#
usage: bitexact capture test [-h] [--file FILE] [text]
positional arguments:
text the text to scrub
options:
-h, --help show this help message and exit
--file FILE read the text from FILE instead
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact case#
usage: bitexact case [-h] [--by BY] [--title TITLE]
[--kind {incident,exam-sample,regress-suite,inquiry}]
[--description DESCRIPTION] [--run RUN] [--step STEP]
[--reason REASON] [--assignee ASSIGNEE] [--text TEXT]
[--disposition {no-issue,issue,escalated}]
[--status {open,reviewing,closed}] [--allow-missing]
{create,pin,unpin,assign,unassign,note,finding,status,show,verify,list}
[case_id]
positional arguments:
{create,pin,unpin,assign,unassign,note,finding,status,show,verify,list}
case_id the case id (omitted only for `list`)
options:
-h, --help show this help message and exit
--by BY the principal performing the act (default: OS user)
--title TITLE create: the case title
--kind {incident,exam-sample,regress-suite,inquiry}
create: the kind of case
--description DESCRIPTION
--run RUN pin/unpin: the run id; note/finding: the pinned run it
is about (a finding about a whole run is its sign-off)
--step STEP note/finding: the step of --run it is about
--reason REASON pin/unpin: why
--assignee ASSIGNEE assign/unassign: the person
--text TEXT note/finding: the text
--disposition {no-issue,issue,escalated}
finding: the finding's disposition
--status {open,reviewing,closed}
status: the case's new status
--allow-missing pin: accept a run this store does not hold (an
external or archived run)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds the ledger does not verify
bitexact collector#
usage: bitexact collector [-h] --spool SPOOL --recorder HOST:PORT
[--tls-cert TLS_CERT] [--tls-key TLS_KEY]
[--tls-ca TLS_CA] [--intake-port INTAKE_PORT]
[--intake-host HOST] [--intake-exposed]
[--max-spool-bytes MAX_SPOOL_BYTES]
[--intake-secret-file FILE]
[--drain-seconds DRAIN_S] [--insecure-loopback]
options:
-h, --help show this help message and exit
--spool SPOOL directory for the encrypted spool, host key and intake
secret
--recorder HOST:PORT
--tls-cert TLS_CERT this host's client certificate
--tls-key TLS_KEY its private key
--tls-ca TLS_CA the CA that issued the recorder's certificate
--intake-port INTAKE_PORT
--intake-host HOST the address the intake listens on (default 127.0.0.1).
Another address is for a collector in a container,
whose loopback agents outside it cannot reach: publish
the port to the host's loopback only, and say so with
--intake-exposed
--intake-exposed the --intake-host address is a container's, its port
published to the host's loopback alone. Without it a
non-loopback intake refuses to start
--max-spool-bytes MAX_SPOOL_BYTES
--intake-secret-file FILE
the host secret agents authenticate with, placed by
you where agents running as other users are granted
read access (at least 32 characters); default: created
owner-only in the spool
--drain-seconds DRAIN_S
on SIGTERM, keep forwarding for up to this long until
the spool is empty (default 30)
--insecure-loopback development only: plaintext to a loopback recorder
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact cost#
usage: bitexact cost [-h] [--run RUN] [--version COST_VERSION]
[--environment COST_ENVIRONMENT] [--json]
[workflow]
positional arguments:
workflow restrict to a workflow (else every recorded run)
options:
-h, --help show this help message and exit
--run RUN report one run instead
--version COST_VERSION
restrict the workflow to this version (needs the
workflow)
--environment COST_ENVIRONMENT
restrict to this environment, with or without a
workflow
--json print the report as JSON
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact coverage#
usage: bitexact coverage [-h] COMMAND ...
positional arguments:
COMMAND
report the corpus report: recorded surfaces, consistency, the capture
paths evidence came through and capture-health, read from the
manifests; nonzero exit when degraded
expect the declared capture sources, on a signed, hash-chained ledger:
add, remove, reject, withdraw, undeclared-alerts, list, import,
verify
sources the scorecard: whether evidence still arrives from every
declared source, read from the run index; nonzero exit unless
every one is live
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect#
usage: bitexact coverage expect [-h] ACTION ...
positional arguments:
ACTION
add declare a source, or replace the expectation of that id
remove remove an expectation; the removal and its reason stay
on the ledger
reject reject the pending requests to remove a critical
expectation, as a principal who did not request it
withdraw withdraw your own pending request to remove a critical
expectation
undeclared-alerts whether a source that writes evidence and no
expectation declares raises an alert; the change and
its reason stay on the ledger
list the declared expectations, the removed ones, and
whether undeclared sources alert
import apply JSON lines, each {"op": "expect", ...} or {"op":
"remove", "id", "reason"}; every line is checked before
any is written
verify re-walk the expectations ledger's chain and check every
signature; exit 2 when either fails
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect add#
usage: bitexact coverage expect add [-h] [--workflow MATCH_WORKFLOW]
[--environment MATCH_ENVIRONMENT]
[--agent-id MATCH_AGENT_ID]
[--path MATCH_PATH] [--host MATCH_HOST]
[--paths PATH[,PATH...]]
--max-silence DURATION
[--heartbeat DURATION]
[--severity {info,warning,critical}]
[--reason REASON] [--by BY]
ID
positional arguments:
ID the expectation's id
options:
-h, --help show this help message and exit
--workflow MATCH_WORKFLOW
match sources whose workflow is this (an unnamed part
matches any)
--environment MATCH_ENVIRONMENT
match sources whose environment is this (an unnamed
part matches any)
--agent-id MATCH_AGENT_ID
match sources whose agent_id is this (an unnamed part
matches any)
--path MATCH_PATH match sources whose path is this (an unnamed part
matches any)
--host MATCH_HOST match sources whose host is this (an unnamed part
matches any)
--paths PATH[,PATH...]
the capture paths expected to carry evidence, comma-
separated (proxy, relay:sdk-ts, ...)
--max-silence DURATION
how long the source may go without evidence, ISO-8601
(PT2H, P1DT30M)
--heartbeat DURATION how long its heartbeat may go unheard, ISO-8601
--severity {info,warning,critical}
the severity of its alert (default warning)
--reason REASON why the source is declared
--by BY the principal making the change, recorded (default: OS
user)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect import#
usage: bitexact coverage expect import [-h] [--by BY] FILE
positional arguments:
FILE the JSON-lines file
options:
-h, --help show this help message and exit
--by BY the principal for a line that names none, recorded (default: OS
user)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect list#
usage: bitexact coverage expect list [-h] [--json]
options:
-h, --help show this help message and exit
--json print the inventory as JSON
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect reject#
usage: bitexact coverage expect reject [-h] --reason REASON [--by BY] ID
positional arguments:
ID the expectation's id
options:
-h, --help show this help message and exit
--reason REASON why, recorded on the ledger beside the request it answers
--by BY the principal making the change, recorded (default: OS
user)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect remove#
usage: bitexact coverage expect remove [-h] --reason REASON [--by BY] ID
positional arguments:
ID the expectation's id
options:
-h, --help show this help message and exit
--reason REASON why it is removed: removing an expectation is how a silent
source would be hidden
--by BY the principal making the change, recorded (default: OS
user)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect undeclared-alerts#
usage: bitexact coverage expect undeclared-alerts [-h] --reason REASON
[--severity {info,warning,critical}]
[--by BY]
{on,off}
positional arguments:
{on,off} on to alert per undeclared source, off to stop
options:
-h, --help show this help message and exit
--reason REASON why, recorded on the ledger: turning the alerts off is
how a new source would go unnoticed
--severity {info,warning,critical}
the severity of each alert, with on (default warning)
--by BY the principal making the change, recorded (default: OS
user)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect verify#
usage: bitexact coverage expect verify [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage expect withdraw#
usage: bitexact coverage expect withdraw [-h] --reason REASON [--by BY] ID
positional arguments:
ID the expectation's id
options:
-h, --help show this help message and exit
--reason REASON why, recorded on the ledger beside the request it answers
--by BY the principal making the change, recorded (default: OS
user)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage report#
usage: bitexact coverage report [-h] [--version COV_VERSION]
[--environment COV_ENVIRONMENT]
[--expected FILE]
[workflow]
positional arguments:
workflow restrict to a workflow (else every recorded run)
options:
-h, --help show this help message and exit
--version COV_VERSION
restrict the workflow to this version (needs the
workflow)
--environment COV_ENVIRONMENT
restrict to this environment, with or without a
workflow
--expected FILE the executions that should have evidence, one run id
per line (from your orchestrator): reports coverage
and names every one that left none; nonzero exit if
any
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact coverage sources#
usage: bitexact coverage sources [-h] [--json] [--workflow WORKFLOW]
[--environment ENVIRONMENT] [--rebuild]
options:
-h, --help show this help message and exit
--json print the result as JSON
--workflow WORKFLOW only this workflow's expectations and sources
--environment ENVIRONMENT
only this environment's expectations and sources
--rebuild recompute the source index from the manifests and name
every source whose indexed row differed; nonzero exit
if any did
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification);
2 when `expect verify` or `sources` finds the expectations ledger's chain
or a signature does not verify
bitexact db-grant-viewer#
usage: bitexact db-grant-viewer [-h] role
positional arguments:
role the database role the viewer connects as (create it first)
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact db-transfer#
usage: bitexact db-transfer [-h] [--to TO] [--no-verify] [-v]
options:
-h, --help show this help message and exit
--to TO target DSN (defaults to $BITEXACT_DATABASE_URL)
--no-verify skip re-walking each migrated run's chain in the target
(faster, and worth strictly less)
-v, --verbose name each run as it moves
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when a run failed to transfer
bitexact drift#
usage: bitexact drift [-h] workflow
positional arguments:
workflow
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when the gate does not pass (a finding, not a failed verification)
bitexact events#
usage: bitexact events [-h] COMMAND ...
positional arguments:
COMMAND
check validate the events configuration and print its
destinations and secret fingerprints; exit 1 on an error
status the outbox: rows by state, the oldest pending, dead
letters by destination; exit 2 on events dropped or a
configuration that does not load
list delivery rows, newest first
retry requeue dead letters: one event's, or --all-dead; each
retry is written to the access log with the principal
test enqueue an events.test event and run one delivery round
for it, printing the outcome
secret write a new whsec_ webhook secret, owner-only; prints its
fingerprint, never the secret
run deliver the event outbox in the foreground until
interrupted, reconciling the last 24 hours first
deliver run one delivery round and exit, for cron
reconcile re-derive the events of the facts recorded since an
instant and enqueue the ones a crash lost; an event
already in the outbox is kept once
verify-delivery check a captured Standard Webhooks delivery: its
signature, timestamp and body
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events check#
usage: bitexact events check [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events deliver#
usage: bitexact events deliver [-h] --once
options:
-h, --help show this help message and exit
--once one round (the only mode; `events run` keeps delivering)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events list#
usage: bitexact events list [-h]
[--state {dead,pending,awaiting_ack,delivered}]
[--limit N]
options:
-h, --help show this help message and exit
--state {dead,pending,awaiting_ack,delivered}
only rows in this state (default every state)
--limit N print at most N rows (default 100)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events reconcile#
usage: bitexact events reconcile [-h] --since ISO
options:
-h, --help show this help message and exit
--since ISO the start of the window, an ISO-8601 instant (naive is UTC)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events retry#
usage: bitexact events retry [-h] [--destination N] [--by BY]
(--all-dead | EVENT_ID)
positional arguments:
EVENT_ID the event whose dead letters to requeue
options:
-h, --help show this help message and exit
--all-dead requeue every dead letter
--destination N only the dead letters of this destination
--by BY the principal requeueing, written to the access log
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events run#
usage: bitexact events run [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events secret#
usage: bitexact events secret [-h] --out FILE
options:
-h, --help show this help message and exit
--out FILE the file to create (an existing one is refused)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events status#
usage: bitexact events status [-h] [--json]
options:
-h, --help show this help message and exit
--json print the status as JSON
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events test#
usage: bitexact events test [-h] [--destination N] [--by BY]
options:
-h, --help show this help message and exit
--destination N only this destination (default each one)
--by BY the principal sending the test, named in it
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact events verify-delivery#
usage: bitexact events verify-delivery [-h] --secret-file F --headers H
--body B [--tolerance SECONDS]
options:
-h, --help show this help message and exit
--secret-file F a file holding a whsec_ secret or a whpk_ public key
(repeatable, for a rotation)
--headers H a JSON file of the delivery's headers, name to value
--body B a file of the body bytes as received
--tolerance SECONDS how far webhook-timestamp may be from this host's clock
(default 300)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `status` finds events dropped at max_pending or a configuration
that does not load; 1 also when `check` finds the configuration invalid,
`retry` matches no dead letter, `test` is not accepted, `verify-delivery`
rejects the delivery, or `run` finds no configuration, or `deliver` none
that loads or a round that fails, or `reconcile` finds no configuration or
a run or ledger it cannot read
bitexact evidence-pack#
usage: bitexact evidence-pack [-h] [--workflow WORKFLOW] [--case CASE]
[--runs RUNS] [--environment ENVIRONMENT]
[--workflow-version WORKFLOW_VERSION]
[--since ISO8601] [--until ISO8601]
[--subject KEY] [--principal PRINCIPAL]
[--agent AGENT_ID] [--on-behalf-of PARTY]
[--interaction {interactive,autonomous}]
[--save NAME] [--pack NAME] [--list-packs]
[-o OUTPUT] [--sign] [--key KEY]
[--preparer PREPARER] [--verifier VERIFIER]
[--no-view] [--by BY] [--force]
[run_id]
positional arguments:
run_id a run, or --workflow for a workflow-scoped pack
options:
-h, --help show this help message and exit
--workflow WORKFLOW pack every recorded run of a workflow plus its
governance ledger and an inventory workpaper
--case CASE pack every pinned run of a case plus its chain-of-
custody ledger and a case workpaper
--runs RUNS comma-separated run ids to pack as one selection (an
auditor's list); combines with the filters below,
which then narrow it
--environment ENVIRONMENT
narrow the selection to one environment
--workflow-version WORKFLOW_VERSION
narrow the selection to one workflow version
--since ISO8601 only runs started at or after this instant (inclusive)
--until ISO8601 only runs started before this instant (exclusive, so
adjacent windows tile a period without counting a run
twice)
--subject KEY only the decisions about this subject: the business
key (case, application, customer id) a run committed
as its workflow_instance
--principal PRINCIPAL
only the runs whose agent acted as this identity, as
the run's identity committed it
--agent AGENT_ID only the runs of this agent, as the run's identity
committed its agent_id
--on-behalf-of PARTY only the runs done on behalf of this party, as the
run's current identity states it
--interaction {interactive,autonomous}
only the runs with a person in the session
(interactive) or none (autonomous)
--save NAME also save this selection to the pack library under
NAME, to issue again with --pack
--pack NAME issue a saved pack: its selection, resolved against
the store now
--list-packs list the saved packs and exit
-o, --output OUTPUT pack directory (default <run>.evidence-pack)
--sign sign each run bundle and the graph attestation with
--key
--key KEY path to an ed25519 private key file
--preparer PREPARER preparer name/org for the workpaper cover (default:
the bound principal)
--verifier VERIFIER path to bitexact_verifier.py to vendor into the pack,
pinned by its own sha256 (for air-gapped auditors)
--no-view omit the reading view (data/view.html), for a relying
party that forbids opening HTML; the pack verifies
without it
--by BY the principal exporting, recorded on the custody chain
with role operator (default: OS user)
--force replace an existing bag directory whole (only a bag)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact export#
usage: bitexact export [-h] [-o OUTPUT] [--by BY] [--sign] [--key KEY]
[--redact-steps REDACT_STEPS]
[--format {json,dsse,jsonl}]
run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
-o, --output OUTPUT
--by BY the principal exporting, recorded on the custody chain
with role operator (default: OS user)
--sign sign the bundle with --key
--key KEY path to an ed25519 private key file
--redact-steps REDACT_STEPS
comma-separated step indices whose data and salt are
removed; the chain still verifies
--format {json,dsse,jsonl}
dsse wraps the bundle in a signed in-toto statement
(requires --sign); jsonl streams header + one entry
per line for GB-scale runs
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact fork-matrix#
usage: bitexact fork-matrix [-h] --at-step AT_STEP --n N --entry ENTRY
[--model MODEL] [--run-prefix RUN_PREFIX]
[--accept-scrubbed] [-o OUTPUT]
source_run
positional arguments:
source_run
options:
-h, --help show this help message and exit
--at-step AT_STEP step index or KIND:N (e.g. http_call:2)
--n N number of live forks to run
--entry ENTRY MODULE:FUNCTION taking the active run, returning the
fork's outcome
--model MODEL declared model dimension for this arm
--run-prefix RUN_PREFIX
prefix for the fork run ids
--accept-scrubbed serve the prefix's scrubbed values as scrubbed
(default: a fork past one is refused)
-o, --output OUTPUT also write the report to a path
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when a fork errored
bitexact fork-matrix-compare#
usage: bitexact fork-matrix-compare [-h] [--run RUN] [--a HASH] [--b HASH]
[--json]
[REPORT ...]
positional arguments:
REPORT two fork-matrix report files: arm a, then arm b
options:
-h, --help show this help message and exit
--run RUN read the reports from this source run's store
--a HASH report_hash of arm a, with --run
--b HASH report_hash of arm b, with --run
--json print the comparison as JSON
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when the two reports cannot be compared: a report hash that does
not recompute, or a different source run or fork point
bitexact forks#
usage: bitexact forks [-h] [run_id]
positional arguments:
run_id scope the tree to this run's lineage (default: every root in the
store)
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact health#
usage: bitexact health [-h] [--json] [--cert PEM] [--crl PEM] [--warn-days N]
options:
-h, --help show this help message and exit
--json emit the raw health report as JSON
--cert PEM a certificate to check for expiry (repeatable): the
recorder's, each host's
--crl PEM a revocation list to check for expiry (repeatable); past it
the recorder refuses every host
--warn-days N warn this many days before a certificate, revocation list or
the license expires (default 30)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 on a critical status: a run that fails verification, or an anchor
rollback
bitexact hold#
usage: bitexact hold [-h] [--reason REASON] [--by BY] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--reason REASON required: the matter or ticket the hold is for (recorded in
the chained hold entry)
--by BY the principal performing this act, recorded in the chained
audit entry
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact keygen#
usage: bitexact keygen [-h] -o OUTPUT [--force]
[--suite {hybrid,ed25519,witness-ml-dsa-44}]
[--pq-alg {ML-DSA-65,ML-DSA-87}]
options:
-h, --help show this help message and exit
-o, --output OUTPUT where to write the ed25519 key; the post-quantum half,
its ML-DSA seed as 64 hex characters, goes to
<name>.pq.key
--force overwrite an existing key file
--suite {hybrid,ed25519,witness-ml-dsa-44}
hybrid (default); ed25519 alone - classical-only, not
resistant to a quantum forger; or witness-ml-dsa-44, a
witness key that cosigns with C2SP ML-DSA-44
cosignatures
--pq-alg {ML-DSA-65,ML-DSA-87}
the post-quantum parameter set (default
$BITEXACT_PQ_ALG, else ML-DSA-65). The key file holds
only the 32-byte seed, so the signer takes the set
from $BITEXACT_PQ_ALG too: set it to the same value
where the key signs
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact license#
usage: bitexact license [-h] {request,install,usage} ...
positional arguments:
{request,install,usage}
request write a renewal request, signed by the recorder key
and carrying a TPM quote, to send to BitExact
install install the renewed license BitExact sent back over
the license BITEXACT_LICENSE names
usage count the production agent identities seen recording
in the last 90 days, beside the licensed band
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact license install#
usage: bitexact license install [-h] file
positional arguments:
file the renewed license file
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact license request#
usage: bitexact license request [-h] --out OUT
options:
-h, --help show this help message and exit
--out OUT the file to write the request to
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact license usage#
usage: bitexact license usage [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact lint#
usage: bitexact lint [-h] [--format {text,json,sarif}] paths [paths ...]
positional arguments:
paths
options:
-h, --help show this help message and exit
--format {text,json,sarif}
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when the gate does not pass (a finding, not a failed verification)
bitexact list#
usage: bitexact list [-h] [--subject KEY] [--principal PRINCIPAL]
[--agent AGENT_ID] [--on-behalf-of PARTY]
[--interaction {interactive,autonomous}]
[--since ISO8601] [--until ISO8601]
options:
-h, --help show this help message and exit
--subject KEY the decisions about this subject: the business key a
run committed as its workflow_instance
--principal PRINCIPAL
the runs whose agent acted as this identity
--agent AGENT_ID the runs of this agent, as the run's identity
committed its agent_id
--on-behalf-of PARTY the runs done on behalf of this party, as the run's
current identity states it
--interaction {interactive,autonomous}
the runs with a person in the session (interactive) or
none (autonomous)
--since ISO8601 runs started at or after this instant
--until ISO8601 runs started before this instant
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact log#
usage: bitexact log [-h] COMMAND ...
positional arguments:
COMMAND
checkpoint sign the log's head and have the witnesses in
BITEXACT_LOG_WITNESSES cosign it
status the log's size and latest checkpoint
audit every run the log names that the store lost, and every signed
run checkpoint the log lacks; nonzero exit if any
backfill add the recorder-signed run checkpoints the log lacks
heads every head of a run the log holds, oldest first
tail the log from leaf START as JSON (from, leaves, left), for the
verifier's --log-tail: checks a bundle's head is its run's
latest logged head against a log checkpoint you hold
consistency prove today's log extends a checkpoint you kept
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `audit` finds a logged run the store lost, a signed checkpoint the
log lacks or a leaf it cannot read, or `consistency` finds the log does
not extend the kept checkpoint; 1 also when `tail` names a range the log
does not hold
bitexact log audit#
usage: bitexact log audit [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `audit` finds a logged run the store lost, a signed checkpoint the
log lacks or a leaf it cannot read, or `consistency` finds the log does
not extend the kept checkpoint; 1 also when `tail` names a range the log
does not hold
bitexact log backfill#
usage: bitexact log backfill [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `audit` finds a logged run the store lost, a signed checkpoint the
log lacks or a leaf it cannot read, or `consistency` finds the log does
not extend the kept checkpoint; 1 also when `tail` names a range the log
does not hold
bitexact log checkpoint#
usage: bitexact log checkpoint [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `audit` finds a logged run the store lost, a signed checkpoint the
log lacks or a leaf it cannot read, or `consistency` finds the log does
not extend the kept checkpoint; 1 also when `tail` names a range the log
does not hold
bitexact log consistency#
usage: bitexact log consistency [-h] [--log-key LOG_KEY] note
positional arguments:
note a checkpoint note saved earlier
options:
-h, --help show this help message and exit
--log-key LOG_KEY the log's public key (hex); default: the recorder key's
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `audit` finds a logged run the store lost, a signed checkpoint the
log lacks or a leaf it cannot read, or `consistency` finds the log does
not extend the kept checkpoint; 1 also when `tail` names a range the log
does not hold
bitexact log heads#
usage: bitexact log heads [-h] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `audit` finds a logged run the store lost, a signed checkpoint the
log lacks or a leaf it cannot read, or `consistency` finds the log does
not extend the kept checkpoint; 1 also when `tail` names a range the log
does not hold
bitexact log status#
usage: bitexact log status [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `audit` finds a logged run the store lost, a signed checkpoint the
log lacks or a leaf it cannot read, or `consistency` finds the log does
not extend the kept checkpoint; 1 also when `tail` names a range the log
does not hold
bitexact log tail#
usage: bitexact log tail [-h] [--size N] START
positional arguments:
START the first leaf of the tail (0-based)
options:
-h, --help show this help message and exit
--size N end the tail at the log's first N leaves, the size of the
checkpoint you hold (default: the whole log)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `audit` finds a logged run the store lost, a signed checkpoint the
log lacks or a leaf it cannot read, or `consistency` finds the log does
not extend the kept checkpoint; 1 also when `tail` names a range the log
does not hold
bitexact mcp-proxy#
usage: bitexact mcp-proxy [-h] [--run-id RUN_ID] [--replay RUN]
[--listen PORT] [--upstream URL] [--host HOST]
[SERVER ...]
positional arguments:
SERVER stdio: the server's command line, after --
options:
-h, --help show this help message and exit
--run-id RUN_ID stdio: the run every tools/call is recorded into; without
it, the run each call names in
params._meta["bitexact/run_id"]
--replay RUN answer each tools/call from this recorded run
--listen PORT Streamable HTTP: the port clients connect to
--upstream URL Streamable HTTP: the server's base URL
--host HOST Streamable HTTP: the address to listen on
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the stdio MCP server exits nonzero, or a --replay diverged or
left a recorded tools/call unserved; 2 when the --replay run does not
verify
bitexact otel-export#
usage: bitexact otel-export [-h] [-o OUTPUT] [--by BY] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
-o, --output OUTPUT
--by BY the principal exporting, recorded on the custody chain
with role operator (default: OS user)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact pki#
usage: bitexact pki [-h] {init,issue,revoke,crl} ...
positional arguments:
{init,issue,revoke,crl}
init create a certificate authority
issue issue a certificate for the recorder or a host
revoke revoke a host's certificate (rewrites ca.crl)
crl write or renew the revocation list (ca.crl)
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact pki crl#
usage: bitexact pki crl [-h] --dir DIR
options:
-h, --help show this help message and exit
--dir DIR
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact pki init#
usage: bitexact pki init [-h] --dir DIR [--name NAME]
options:
-h, --help show this help message and exit
--dir DIR
--name NAME
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact pki issue#
usage: bitexact pki issue [-h] --dir DIR [--dns DNS] [--ip IP]
[--spiffe SPIFFE] [--days DAYS]
NAME
positional arguments:
NAME
options:
-h, --help show this help message and exit
--dir DIR
--dns DNS a DNS name it serves (repeatable)
--ip IP an IP address it serves (repeatable)
--spiffe SPIFFE the workload's SPIFFE ID: the peer its events are recorded
under
--days DAYS
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact pki revoke#
usage: bitexact pki revoke [-h] --dir DIR NAME
positional arguments:
NAME
options:
-h, --help show this help message and exit
--dir DIR
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact provenance-bundle#
usage: bitexact provenance-bundle [-h] [-o OUTPUT] [--by BY] [--force]
[--sign] [--key KEY] [--no-view]
run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
-o, --output OUTPUT bag directory (default <run>.provenance-bag)
--by BY the principal exporting, recorded on the custody chain
with role operator (default: OS user)
--force replace an existing bag directory whole (only a bag)
--sign sign each run bundle and the graph attestation with
--key
--key KEY path to an ed25519 private key file
--no-view omit the reading view (data/view.html), for a relying
party that forbids opening HTML; the bag verifies
without it
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact purge#
usage: bitexact purge [-h] --older-than DAYS [--archive DIR] [--delete]
[--yes] [--dry-run]
options:
-h, --help show this help message and exit
--older-than DAYS cutoff in days by last entry timestamp
--archive DIR move the runs' files into DIR
--delete permanently delete (requires --yes)
--yes confirm permanent deletion
--dry-run
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact qualify#
usage: bitexact qualify [-h] [--base-url BASE_URL] [--wire {openai,anthropic}]
--model MODEL --prompt PROMPT [-n N]
[--temperature TEMPERATURE] [--seed SEED] [-o OUTPUT]
[--sign] [--key KEY]
options:
-h, --help show this help message and exit
--base-url BASE_URL
--wire {openai,anthropic}
--model MODEL
--prompt PROMPT
-n N
--temperature TEMPERATURE
--seed SEED
-o, --output OUTPUT
--sign sign the report with --key
--key KEY path to an ed25519 private key file
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when sampling aborted (the partial report is written)
bitexact quickstart#
usage: bitexact quickstart [-h] [--host HOST] [--port PORT]
options:
-h, --help show this help message and exit
--host HOST
--port PORT
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact receipts#
usage: bitexact receipts [-h] --key KEY --org ORG [-o OUTPUT] [--by BY]
[--allow-gaps]
run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--key KEY path to the ed25519 private key that signs the receipts
--org ORG the organization the receipts are about
-o, --output OUTPUT
--by BY the principal exporting, recorded on the custody chain
with role operator (default: OS user)
--allow-gaps exit 0 even when a model call gets no receipt
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
3 verified, with declared capture gaps - an intact record of an
incomplete capture
3 when a model call gets no receipt, unless --allow-gaps
bitexact recorder#
usage: bitexact recorder [-h] [--host HOST] [--port PORT]
[--tls-cert TLS_CERT] [--tls-key TLS_KEY]
[--tls-client-ca TLS_CLIENT_CA] [--tls-crl TLS_CRL]
[--insecure-loopback] [--health-port PORT]
[--health-host HEALTH_HOST]
options:
-h, --help show this help message and exit
--host HOST
--port PORT
--tls-cert TLS_CERT the recorder's TLS certificate
--tls-key TLS_KEY its private key
--tls-client-ca TLS_CLIENT_CA
the CA whose client certificates identify collectors
(required)
--tls-crl TLS_CRL the CA's revocation list (`bitexact pki crl`): a
revoked host is refused, even mid-session
--insecure-loopback development only: plaintext on loopback
--health-port PORT serve /livez, /readyz and /metrics over plain HTTP on
this port, for orchestrator probes and Prometheus
--health-host HEALTH_HOST
address the health port binds (default 0.0.0.0, so the
kubelet can reach it)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact recorder-key#
usage: bitexact recorder-key [-h] [--pq]
options:
-h, --help show this help message and exit
--pq print its post-quantum (ML-DSA) public key instead
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact redact#
usage: bitexact redact [-h] [--steps STEPS] [--fields FIELDS] [--by BY] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--steps STEPS comma-separated steps to redact entirely
--fields FIELDS comma-separated step:path selections, e.g.
3:request.text,3:response.text
--by BY the principal performing this act, recorded in the chained
audit entry
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact redaction#
usage: bitexact redaction [-h] [--by BY] [--role ROLE] [--steps STEPS]
[--fields FIELDS] [--reason REASON]
{request,approve,reject,status} run_id
positional arguments:
{request,approve,reject,status}
run_id
options:
-h, --help show this help message and exit
--by BY the principal performing the act (default: OS user)
--role ROLE the principal's role (recorded in custody; default
operator)
--steps STEPS request: comma-separated steps to redact
--fields FIELDS request: comma-separated STEP:PATH fields
--reason REASON request/reject: why (required for both)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact regress#
usage: bitexact regress [-h] [--workflow WORKFLOW] [--version REGRESS_VERSION]
[--environment REGRESS_ENVIRONMENT] --entry ENTRY
[--intended INTENDED] [--accept-scrubbed]
[--git-sha GIT_SHA] [--label LABEL] [--sign]
[--key KEY] [-o OUTPUT]
[run_ids ...]
positional arguments:
run_ids explicit run ids, or select by workflow below
options:
-h, --help show this help message and exit
--workflow WORKFLOW regress a whole workflow's corpus instead of explicit
run ids (verifiable version-drift)
--version REGRESS_VERSION
restrict --workflow to this workflow_version
--environment REGRESS_ENVIRONMENT
restrict --workflow to this environment
--entry ENTRY MODULE:FUNCTION taking the active run
--intended INTENDED KIND:PATH change declarations; flips confined to them
are intended, not divergence (repeatable)
--accept-scrubbed serve a value the capture policy scrubbed, as scrubbed
(default: the step is withheld)
--git-sha GIT_SHA code identity for the report
--label LABEL human label for the report
--sign sign the suite report with --key
--key KEY path to an ed25519 private key file
-o, --output OUTPUT
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when the gate does not pass (a finding, not a failed verification)
bitexact reindex#
usage: bitexact reindex [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact release-hold#
usage: bitexact release-hold [-h] [--reason REASON] [--by BY] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--reason REASON required: why the hold can end - the matter or ticket it
was for (recorded in the chained hold_release entry)
--by BY the principal performing this act, recorded in the chained
audit entry
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact repair#
usage: bitexact repair [-h] [--accept-truncation] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--accept-truncation accept and record missing steps that no torn line
explains
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact retention#
usage: bitexact retention [-h] [--version RET_VERSION]
[--environment RET_ENVIRONMENT]
[workflow]
positional arguments:
workflow restrict to a workflow (else every recorded run)
options:
-h, --help show this help message and exit
--version RET_VERSION
restrict the workflow to this version (needs the
workflow)
--environment RET_ENVIRONMENT
restrict to this environment, with or without a
workflow
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when the gate does not pass (a finding, not a failed verification)
bitexact roles#
usage: bitexact roles [-h] {define,remove,bind,unbind,list,verify} ...
positional arguments:
{define,remove,bind,unbind,list,verify}
define define or redefine a role
remove remove a role
bind bind an IdP group to a role
unbind revoke a group binding
list every custom role and its permissions
verify re-walk and authenticate every role chain
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds a role chain that does not verify
bitexact roles bind#
usage: bitexact roles bind [-h] [--by BY] group name
positional arguments:
group
name
options:
-h, --help show this help message and exit
--by BY who is making the change (recorded)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds a role chain that does not verify
bitexact roles define#
usage: bitexact roles define [-h] --allow ALLOW [--by BY] name
positional arguments:
name
options:
-h, --help show this help message and exit
--allow ALLOW comma-separated permissions the role grants
--by BY who is making the change (recorded)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds a role chain that does not verify
bitexact roles list#
usage: bitexact roles list [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds a role chain that does not verify
bitexact roles remove#
usage: bitexact roles remove [-h] [--by BY] name
positional arguments:
name
options:
-h, --help show this help message and exit
--by BY who is making the change (recorded)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds a role chain that does not verify
bitexact roles unbind#
usage: bitexact roles unbind [-h] [--by BY] group name
positional arguments:
group
name
options:
-h, --help show this help message and exit
--by BY who is making the change (recorded)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds a role chain that does not verify
bitexact roles verify#
usage: bitexact roles verify [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds a role chain that does not verify
bitexact seal#
usage: bitexact seal [-h] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact seed#
usage: bitexact seed [-h] [--clean]
options:
-h, --help show this help message and exit
--clean delete any prior sample run and re-seed
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact serve#
usage: bitexact serve [-h] [--host HOST] [--port PORT] [--tls-cert TLS_CERT]
[--tls-key TLS_KEY] [--tls-client-ca TLS_CLIENT_CA]
options:
-h, --help show this help message and exit
--host HOST
--port PORT
--tls-cert TLS_CERT TLS certificate for the listener
--tls-key TLS_KEY TLS private key
--tls-client-ca TLS_CLIENT_CA
require client certificates signed by this CA (mTLS)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact show#
usage: bitexact show [-h] [--causal] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--causal order a multi-agent run by what caused what (host-asserted)
rather than by chain position
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact strict#
usage: bitexact strict [-h] [--require-identity] run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--require-identity also require an identity binding
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
1 also when the gate does not pass (a finding, not a failed verification)
bitexact suite#
usage: bitexact suite [-h] [--entry ENTRY] [--runs [RUNS ...]]
[--workflow WORKFLOW] [--version SUITE_VERSION]
[--environment SUITE_ENVIRONMENT] [--intended INTENDED]
[--max-divergence MAX_DIVERGENCE] [--accept-scrubbed]
[--description DESCRIPTION] [--git-sha GIT_SHA]
[--label LABEL] [--entry-a ENTRY_A] [--entry-b ENTRY_B]
[--label-a LABEL_A] [--label-b LABEL_B]
{create,run,compare,show,list} [suite]
positional arguments:
{create,run,compare,show,list}
suite the suite name (omitted only for `list`)
options:
-h, --help show this help message and exit
--entry ENTRY create: MODULE:FUNCTION of the code under test
--runs [RUNS ...] create: explicit run ids for the corpus
--workflow WORKFLOW create: select the corpus by workflow instead
--version SUITE_VERSION
create: restrict --workflow to this version
--environment SUITE_ENVIRONMENT
create: restrict --workflow to this environment
--intended INTENDED create: KIND:PATH allow-listed change (repeatable)
--max-divergence MAX_DIVERGENCE
create: fraction of the corpus allowed to diverge
before the gate fails (default 0.0)
--accept-scrubbed create: serve values the capture policy scrubbed, as
scrubbed (default: such a run is withheld from the
gate)
--description DESCRIPTION
--git-sha GIT_SHA run: code identity for the result
--label LABEL run: human label for the result
--entry-a ENTRY_A compare: MODULE:FUNCTION of implementation A
--entry-b ENTRY_B compare: MODULE:FUNCTION of implementation B
--label-a LABEL_A
--label-b LABEL_B
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
1 also when the gate does not pass (a finding, not a failed verification)
bitexact verify#
usage: bitexact verify [-h] [--provenance] [--expect-recorder-key HEX]
[--expect-recorder-pq-key HEX|FILE] [--trust-file FILE]
[--require-pq] [--allow-gaps CAUSES]
[--open STEP:PATH | --open-withheld STEP]
[--candidate-file FILE] [--by BY]
run_id
positional arguments:
run_id
options:
-h, --help show this help message and exit
--provenance also cross-check the whole fork ancestry against the
source manifests
--expect-recorder-key HEX
pin this recorder public key in place of the license's
recorder_keys: every checkpoint must be signed by it
and a sealed run must carry one, or verification
FAILS. With --provenance every run in the fork lineage
must carry a head-covering checkpoint signed by it -
without it a fork's descent is only structural (the
source's public hash), forgeable by a store writer
--expect-recorder-pq-key HEX|FILE
the post-quantum (ML-DSA) half of the key --expect-
recorder-key pins: every checkpoint and worm anchor
that key signed must carry a post-quantum signature by
it, so a forger holding only the Ed25519 key fails
--trust-file FILE the open verifier's trust file, read the same way:
every checkpoint must be signed by one of its
recorder_keys, and an entry's pq_public_key demands
that post-quantum half on everything the key signed.
One Ed25519 key listed with two PQ keys allows a
rotation between them. In place of the license's
recorder_keys and of --expect-recorder-key
--require-pq fail a run any of whose checkpoints or worm anchors
carries no post-quantum signature (it pins no key: a
forger who recovers the Ed25519 key can add an ML-DSA
key of their own - pin it to refuse that)
--allow-gaps CAUSES exit 0 rather than 3 when every capture gap the run
declares has one of these causes (comma-separated) or
with 'all'; the gaps are still listed
--open STEP:PATH once the run verifies, test --candidate-file (the
value, as JSON) against this hash-only field with the
capture key: prints matches or does not match (exit
2). Recorded on the run's custody chain first -
testing a candidate is guessing one
--open-withheld STEP once the run verifies, test --candidate-file's exact
bytes against the content the gap at this step
withheld, with the capture key; recorded on the
custody chain like --open
--candidate-file FILE
the candidate --open or --open-withheld tests
--by BY with --open or --open-withheld, the principal testing
the candidate, recorded on the custody chain
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
3 verified, with declared capture gaps - an intact record of an
incomplete capture
3 unless --allow-gaps accepts every declared cause; with --open or --open-
withheld, 0 when the candidate matches and 2 when it does not
bitexact verify-receipts#
usage: bitexact verify-receipts [-h] --expect-key EXPECT_KEY file
positional arguments:
file receipts, one JSON object per line
options:
-h, --help show this help message and exit
--expect-key EXPECT_KEY
the trusted ed25519 public key (base64url)
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact verify-report#
usage: bitexact verify-report [-h] [--expect-key EXPECT_KEY]
[--expect-pq-key HEX|FILE]
[--expect-kind {bitexact-regress-suite,bitexact-regress-report,bitexact-qualification}]
report
positional arguments:
report path to the signed report JSON
options:
-h, --help show this help message and exit
--expect-key EXPECT_KEY
require this ed25519 public key (hex)
--expect-pq-key HEX|FILE
require the report's post-quantum (ML-DSA) signature
to be by this key
--expect-kind {bitexact-regress-suite,bitexact-regress-report,bitexact-qualification}
require this kind of report, so a valid report of
another kind is not accepted in its place
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
bitexact version#
usage: bitexact version [-h]
options:
-h, --help show this help message and exit
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact view#
usage: bitexact view [-h] [--host HOST] [--port PORT] [--tls-cert TLS_CERT]
[--tls-key TLS_KEY]
options:
-h, --help show this help message and exit
--host HOST
--port PORT
--tls-cert TLS_CERT TLS certificate for the listener
--tls-key TLS_KEY TLS private key
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact witness#
usage: bitexact witness [-h] --name NAME --key KEY --state STATE
[--log ORIGIN=KEY[:PQKEY]] [--host HOST] [--port PORT]
[--tls-cert TLS_CERT] [--tls-key TLS_KEY]
options:
-h, --help show this help message and exit
--name NAME this witness's name, e.g. witness.auditor.example
--key KEY file holding this witness's private key, from
`bitexact keygen --suite ed25519` or `--suite witness-
ml-dsa-44` (post-quantum C2SP cosignatures)
--state STATE directory where the last cosigned head of each log is
kept
--log ORIGIN=KEY[:PQKEY]
a log to witness and its public key, and - for a
hybrid log - its post-quantum (ML-DSA) key after a
colon, which its notes must then be signed with too
(repeatable)
--host HOST
--port PORT
--tls-cert TLS_CERT serve HTTPS with this certificate
--tls-key TLS_KEY its private key
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
bitexact workflow#
usage: bitexact workflow [-h] [--by BY] [--owner OWNER]
[--description DESCRIPTION]
[--criticality {tier-1,tier-2,tier-3}]
[--version VERSION] [--code CODE]
[--policy-version POLICY_VERSION]
[--regress-suite REGRESS_SUITE] [--notes NOTES]
[--to TO] [--from FROM_ENV] [--gate GATE]
[--schedule SCHEDULE] [--reason REASON]
[--regime {sec-17a-4-audit-trail}]
{create,register-version,promote,set-retention,set-records-regime,deprecate,show,verify}
workflow_id
positional arguments:
{create,register-version,promote,set-retention,set-records-regime,deprecate,show,verify}
workflow_id
options:
-h, --help show this help message and exit
--by BY the principal performing the act (default: OS user)
--owner OWNER create: the accountable owner/team
--description DESCRIPTION
--criticality {tier-1,tier-2,tier-3}
create: tier-1 (critical) / tier-2 / tier-3 (standard)
--version VERSION the workflow_version label
--code CODE register-version: git sha / build id
--policy-version POLICY_VERSION
--regress-suite REGRESS_SUITE
register-version: reference to the signed regress
suite proving the version's behavioral delta
--notes NOTES
--to TO promote: the target environment
--from FROM_ENV promote: the source environment
--gate GATE promote: reference to the qualification/regress report
that gated it
--schedule SCHEDULE set-retention: CATEGORY=DURATION[,...], where DURATION
is <n>y (years), <n>m (calendar months) or <n>d
(days), e.g. adverse=7y,standard=3y
--reason REASON deprecate: why the workflow is withdrawn
--regime {sec-17a-4-audit-trail}
set-records-regime: the records regime the workflow
declares for its runs
exit codes:
0 OK - the evidence verifies, or the command did what it was asked
1 operational error - a usage error, a missing run or file, input that
cannot be read, or a license refusal: no verdict was reached
2 FAIL - the evidence does not verify, or a check it requires cannot run
on this install (a library is missing)
2 when `verify` finds the ledger does not verify