FAQ
Frequently asked questions
AGPL-3.0 and licensing
What is AGPL-3.0 and what does it mean for my analysis?
AGPL-3.0 is a copyleft license. If you use Vikshep as a library in your own code and distribute that code — including over a network (e.g. a hosted service) — your code must also be licensed under AGPL-3.0 and its source must be made available. If you only use Vikshep locally for your own analysis and do not distribute it, the copyleft does not propagate. Running Vikshep on your own workstation or cluster for your own analyses is always free.
Can I publish results produced with the Free tier?
Yes. There are no restrictions on publishing results. We ask that you cite Vikshep in any paper (BibTeX is available on the /pilot page). A reference implementation section describing the pipeline version and parameters is sufficient.
When do I need a commercial license?
You need a commercial license if: (a) you are deploying Vikshep as part of a proprietary product or service and cannot comply with AGPL-3.0's source-disclosure requirement, or (b) you are a company using Vikshep in production and want SLA support. Academic and research use — including at commercial laboratories — is covered by the AGPL as long as results are openly published.
Does the license apply to the engine binaries?
The CPU scattering core (vikshep-compute) is AGPL-3.0. GPU backends are proprietary and not yet released. Commercial deployments that cannot comply with AGPL-3.0 source-disclosure requirements need a commercial license. See LICENSING.md in the repo.
Free vs. hosted
Does the Free tier include GPU acceleration?
CPU inference is available in the Free tier — all loaders, the ingest pipeline, DisCo recipes, and the benchmark harness run without GPU. No tier runs the scattering transform yet: the open deterministic scattering core is in development, and GPU acceleration is planned.
What is the trial and how does it work?
The trial grants access to the hosted plane (GPU scattering runs, hosted ingest) with a dual cap: a fixed number of days and a fixed GPU-second budget. Both caps are enforced server-side. No card is required; one trial per verified email. The download itself — the AGPL source, the CLI tools, all loaders — never expires and is always free.
What happens when my trial expires?
The hosted API returns 402 with a reason code (TRIAL_EXPIRED or TRIAL_BUDGET_EXHAUSTED) and a link to /pricing. Your local CLI tools and downloaded data are unaffected — they run indefinitely. You can renew by purchasing a Lab entitlement.
Can I use Vikshep for Well-scale ingest (TB+)?
The Well loader is available in the Free tier for local CPU use. Hosted Well-scale ingest above 1 TB requires Lab or Enterprise — the hosted engine handles chunking, fan-out, and cost allocation across many GPU nodes.
Technical
What does 'nothing learned' mean exactly?
It describes the feature plane. The wavelet filters are analytic Morlets — their shape is determined by three geometry parameters (J, Q, L) chosen before any data is seen. No gradient step, no training loop, no adaptation. Translation invariance and stability under deformations are theorems about the scattering transform, not empirical claims about a trained model. The scattering transform is being delivered by the open deterministic core, which is in development; the released CLI does not run it yet. Today the CLI ingests Geant4 output, computes per-event aggregates, and trains calibration and DisCo-penalised tagging models on those aggregates. Those models are learned, and the tag report says how: training_gradient "pearson_proxy", reported_dcorr2 "exact_weighted".
What is a 28-char OID and why does it appear in the manifest?
An OID (Object ID) is the first 14 bytes of the SHA3-256 hash of a tensor buffer, encoded as 28 lowercase hex characters. It is the only handle for a tensor that crosses the AGPL boundary into the proprietary engine. Raw float tensors live in POSIX shared memory and never reach TypeScript, the browser, or any network. The OID uniquely identifies the tensor for caching and provenance logging.
Is Vikshep reproducible across machines?
Deterministic by design. Tested today: byte-identical reports under a fixed seed on the same machine (backend/ingest/tests/test_bench_determinism.py). Cross-platform bit identity is the target of the VDS-1 conformance suite, verified in public CI once released. Until then, do not assume bit identity across machines or operating systems. The SHA3-256 OID is a content address: identical bytes always give the same OID.
How do I use a Geant4 ntuple format other than komal_v1?
Use --schema generic with a --column-map JSON argument: vikshep-ingest g4 data.csv --schema generic --column-map '{"phi":"angle_phi","theta":"angle_theta","momentum":"p_mag"}'. The komal_v1 schema (event_id, layer, phi, theta, momentum[, energy]) is the default because it was the first schema tested with a physics collaborator.
More questions?
Reach us at shekhawatsamvardhan@gmail.com or open an issue on GitHub.