Browse documentation
Docs target stable release v0.18.2.Stable vs main checked 2026-10-31

Repository commands

These commands operate on a .tine/ v3 object store, not the legacy .tine_runs/ file index.

Initialize and import

Terminal
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-unverified

migrate-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.

Terminal
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-blobs

fsck 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

Terminal
# 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.