Skip to main content

JarvisX Connected-Evidence Agent

Reconcile your migration on your OWN engines, at scale, without your data or credentials ever leaving your network — then get a signed certificate.

Run this inside your perimeter. It connects to your source + target warehouses with your own read-only credentials, checks that each converted query returns the same rows as the source, and emits only counts + hashes + a verdict. Optionally it sends that verdict (never your rows) to JarvisX for an Ed25519-signed, ledgered Connected-Evidence certificate.

Why it scales to 1 TB

It does not pull your data. In --mode pushdown (default) it computes a fingerprint inside the warehouse — COUNT(*) + an order-independent sum of per-row hashes — and compares two one-row fingerprints. A 1 TB result reconciles by moving a few bytes. A mismatch is definitive; a match is high-probability equal. --mode full pulls rows for a row-level diff (small data only).

Install

pip install jarvisx-evidence-agent            # core (stdlib only)
pip install "jarvisx-evidence-agent[bigquery]"   # + BigQuery client
pip install "jarvisx-evidence-agent[snowflake,duckdb,postgres]"

Configure (recon.json)

{
  "source": {"engine": "bigquery", "project": "my-legacy-proj"},
  "target": {"engine": "snowflake", "account": "...", "user": "...", "warehouse": "...", "database": "...", "schema": "..."},
  "pairs": [
    {"name": "daily_sales", "source_sql": "SELECT id, SUM(amt) t FROM sales GROUP BY id",
                            "target_sql": "SELECT id, SUM(amt) t FROM SALES GROUP BY id"}
  ]
}

Engines: duckdb (local file / parquet / csv via setup_sql), bigquery (ADC), snowflake (env/config), postgres (dsn), or callable (point at your own module.connect(cfg) -> fn(sql)->(cols, rows) adapter for anything else). Credentials come from your environment (ADC / env / DSN) — this tool never stores them.

Run

# reconcile → JSON report (counts + hashes only)
jarvisx-evidence-agent --config recon.json --out report.json

# reconcile AND get a signed certificate (Enterprise plan; only the fingerprint is sent)
jarvisx-evidence-agent --config recon.json --submit https://gojarvisx.ai --token jvx_xxx \
    --source-type bigquery --target-type snowflake

Exit code is non-zero if any pair is a definite mismatch — drop it straight into your migration CI. The signed certificate can be independently verified at https://gojarvisx.ai/api/proof/verify against the public key at /api/proof/pubkey.

What leaves your network

Only: query name, engines, row counts, hashes, and the verdict. Never raw rows, never SQL text (in the signed cert), never credentials.

Also: jarvisx verify — a CI/dev correctness gate for SQL changes

Same package ships a second command that verifies an AI-made (or any) SQL change is behavior-preserving — credential-free, no warehouse needed. Give the original + changed SQL; JarvisX runs both on a synthetic fixture and row-diffs them, returning a gate with a CI-friendly exit code.

# exit 0 = pass (preserved) · 1 = block (changed) · 2 = review (unproven) · 3 = error
jarvisx verify -o before.sql -c after.sql -d bigquery
jarvisx verify --original-sql "SELECT id,SUM(amt) t FROM s GROUP BY id" \
               --changed-sql  "SELECT id,SUM(amt) AS t FROM s GROUP BY 1" -d bigquery
# add a signed certificate (metered; needs a jvx_ token):
jarvisx verify -o before.sql -c after.sql -d bigquery --sign --token jvx_xxx

Drop it in a pre-commit hook or CI step to block a merge when gate != pass. It calls the hosted verify_change tool over HTTPS (set --url/JARVISX_URL to override); only the SQL text leaves your machine. A review result means JarvisX could not prove equivalence — escalate to a human, never treat it as a pass.

As a PR gate (CI)

jarvisx ci verifies every changed *.sql file between the PR base and HEAD and fails the check on a behavior change:

jarvisx ci -d bigquery               # exit 1 if any change blocks; add --fail-on-review to also fail on unproven

Ready-made GitHub Action: jarvislistens/jarvisx/.github/actions/jarvisx-verify@main (check out with fetch-depth: 0). Copy-paste workflow: docs/examples/jarvisx-verify-pr.yml. Per-file results show up as PR annotations + a job summary.

License

Proprietary — © JarvisX.

Metadata

Release files for jarvisx-evidence-agent 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for jarvisx-evidence-agent 0.1.0
File Size Uploaded Provenance Actions
jarvisx_evidence_agent-0.1.0.tar.gz 564.4 kB Without provenance Details for jarvisx_evidence_agent-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for jarvisx-evidence-agent 0.1.0
File Interpreter ABI Platform Actions
jarvisx_evidence_agent-0.1.0-py3-none-any.whl Python 3 none any Details for jarvisx_evidence_agent-0.1.0-py3-none-any.whl

Total release size: 583.2 kB

Release files / jarvisx_evidence_agent-0.1.0.tar.gz

Download URL jarvisx_evidence_agent-0.1.0.tar.gz
Size 564.4 kB
Tags Source
SHA-256 checksum
How to use checksums
d4aaf2de0da7aca5c44a73b230714542a6a0a159cb6d55c4f607817d56a0bfae
BLAKE2b-256 checksum
How to use checksums
b4a3fe5145754159c22aba1f7f7681f59329b12d737b69bd26156154fa06f8d1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Release files / jarvisx_evidence_agent-0.1.0-py3-none-any.whl

Download URL jarvisx_evidence_agent-0.1.0-py3-none-any.whl
Size 18.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ab77afbe6f01f4845c9969d4d806ec9faf8cc7822e0816e677e9609c8771bd56
BLAKE2b-256 checksum
How to use checksums
767d4ba30c5119c76abe1ee9df93e828f2f13a77aca9b8fceea68e63f8af09d3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.15

Security for jarvisx-evidence-agent 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page