Skip to main content

CLI Testing & Verification

The VeriSynth CLI was designed for trust — every run can be verified, reproduced, and audited without ever exposing sensitive data. This guide explains how to:
  • Test VeriSynth locally
  • Verify your proof receipts
  • Reproduce a run deterministically
  • Debug unexpected differences

1. Verify Installation

After installation, confirm that the CLI is available:
Expected output:
Run the built-in help command:
If both commands succeed, your environment is ready.

2. Generate a Test Dataset

Use the included demo dataset for a quick local test:
Output:
The CLI will also print a short summary:

3. Validate the Proof Receipt

Each run produces a JSON proof receipt (proof.json):
To validate integrity:
  1. Compute your own SHA-256 hash of the input and output files.
  2. Compare them with the hashes inside proof.json.
  3. Verify that the Merkle root matches — if it does, your run is provably unchanged.
(The upcoming verisynth verify command will automate this.)

4. Test Reproducibility

Because VeriSynth uses deterministic seeding, identical runs will produce identical proofs and Merkle roots. Try it:
Compare both proofs:
Expected:
This confirms full reproducibility — a cornerstone of VeriSynth’s trust model.

5. Test Edge Cases

You can test various parameters to ensure consistent behavior:

6. Exit Codes

The CLI provides predictable exit codes for scripting and CI/CD.

7. Continuous Integration (CI/CD)

You can run VeriSynth tests automatically as part of your pipeline. Example GitHub Action:

8. Debugging Tips


Summary

CLI testing in VeriSynth confirms three pillars of trust:
  1. Reproducibility — identical seeds = identical outputs
  2. Integrity — proof receipts and Merkle roots verify correctness
  3. Privacy — synthetic data is generated without copying real data