Verify without a network
tine verify run.tine --offline --json
tine verify run.tine --offline --strict --report report.json
tine verify runs-directory --offline --json
# Cross-check upgrade provenance against the original local source
tine verify upgraded.tine --offline --source original.tine --jsonAdded in v0.25 and extended for v4, offline verification chains locally available digest, signature, attestation, carried receipt, certificate/SCT, action-manifest, and optional action-policy checks into a tine-verify-report/1 document. Supply the keys, roots, attestations, and policies you intend to trust.
Each check reports pass, fail, unavailable-offline, or not-applicable, with a reason code, detail, and trust basis. Missing keys or roots are not a pass. Any failed check fails the verdict; --strict also fails when a required check could not run. Network connections and name lookups are refused while the offline chain runs.
Integrity is not authorship
Internal consistency or a trust-on-first-use key does not establish authorship. The authorship result requires a signature verified under supplied, pinned, or HMAC key material. Recorded upgrade-time source-signature state is a claim; --source checks whether the local source matches the recorded provenance.
Datasets and localization
A directory or repository produces a tine-verify-dataset/1 report with a Merkle root over sorted run/digest leaves; repositories include referenced runs and fsck. --locate attempts supported tamper localization and reports unlocalisable when evidence is insufficient. Redacted steps cannot be rehashed as though their original content were present.
Use operator-owned trust roots, signing commands, and the upgrade guide for the surrounding boundaries.