Portable Research Packages
On this page
A completed parameter study is useful only if another person can identify its inputs, inspect
the complete evidence and rerun it. kess study package creates a new self-contained folder
for that purpose without altering the original specification or result.
Create a package
Run the study first, then name the analysis signal that should appear in the publication plot:
kess study run examples/memristor_pulse_protocol.kessstudy.json \
--output memristor-results.json
kess study package examples/memristor_pulse_protocol.kessstudy.json \
--results memristor-results.json \
--output memristor-package \
--signal "V(TOP)"
The output directory must not already exist. Kessetsu builds a sibling temporary directory and publishes it only after every file is written. It never merges into or overwrites an existing research folder.
The plot automatically uses the first twelve completed cases that contain the requested
signal. Use repeatable --case CASE_ID options to select up to twelve exact cases. Select
another dataset with --analysis N. Complete results and numeric CSV always retain every
case; plot selection changes only plot.svg.
Folder contents
Every package contains:
| File | Purpose |
|---|---|
manifest.json |
Versioned package identity, file hashes, model dependencies, solver identity, plotted cases and rerun commands |
study.kessstudy.json |
Authoritative experiment specification, including revision sources |
circuit.kess |
Convenient editable copy of the root source |
requirements.kessreq |
Exact evaluator-owned requirements, when present |
results.json |
Complete result, including failures and retained simulation arrays |
summary.csv |
Case/measurement table with units and errors |
datasets.csv |
Full numeric case/analysis/axis/signal data |
plot.svg |
Deterministic labeled overlay for the requested signal |
report.html |
Self-contained printable summary and provenance |
README.txt |
Human-readable dependencies, limitations and exact rerun commands |
The manifest uses kessetsu.research-package.v1. Every payload file has its byte count,
media type, role and SHA-256. These hashes detect accidental corruption; they are not a
signature or proof that the package owner is independent.
Model licensing and dependencies
Kessetsu re-plans the original study against the model files beside the supplied specification
and rejects any mismatch with the completed result. An external resource declared
redistribution=permitted is copied at its exact source-relative path. Its entry, version,
license, citation/source, simulator compatibility and hash remain in the manifest.
A redistribution=prohibited model body is never copied. The manifest and README instead
record the exact path and identity that the recipient must lawfully acquire. After placing the
file there, the same rerun command applies. Declaring redistribution permission remains the
model provider/package author's responsibility; retain all notices required by that license.
Clean rerun
Copy the complete folder to a machine with a compatible kess and Ngspice installation,
open a terminal in that folder, and run the command printed in README.txt:
kess study run study.kessstudy.json --output rerun-results.json
Compare identities, case status and numerical values with appropriate tolerances. The stored solver executable/version/fingerprint explain the original environment; a clean machine is not expected to have the same path or binary fingerprint. Platform/solver differences should be measured and reported, not erased by replacing the original evidence.
The package is a reproducibility aid, not an archival standard, cryptographic attestation, physical-device validation or guarantee that a model is meaningful outside its declared conditions.