Repository commands
These commands operate on a .tine/ v3 object store, not the legacy .tine_runs/ file index.
Initialize and import
tine repo init [path] [--bare]
tine migrate-v3 result.tine --repo . --ref heads/main
# Only for a deliberate quarantine import
tine migrate-v3 tampered.tine --repo . --ref heads/quarantine --allow-unverifiedmigrate-v3 fails closed by default, retains the exact source as a legacy blob, and records its verification result. It is separate from tine repo migrate, which upgrades portable v1 files to v2.
Verify and inspect
For signed claims and approval gates, use tine repo-verify. Integrity checks do not authenticate a signer label. Repository search supports --signed-only and reports score_signed.
tine repo storage fsck --repo .
tine fsck --repo . --shallow
tine repo-log heads/main --repo . --limit 20
tine object run:sha256:... --repo .
tine object event:sha256:... --repo . --resolve-blobsfsck emits plain JSON and exits nonzero when verification fails. --shallow skips linked-object checks. object --resolve-blobs remains bounded and deliberately does not auto-resolve the unredacted legacy_blob.
Deterministic packs
# Pack every reachable object
tine pack --repo . --output all.tinepack
# Or provide explicit roots
tine pack --repo . --output selected.tinepack run:sha256:...Packs verify dependencies and use a canonical manifest plus checksum. Compressed and decompressed data are bounded at 256 MiB. Use remote commands for negotiated fetch, push, and clone.