NisayonOpen the instrument

SDK / Python

The experiment stays
in your environment.

Nisayon qualifies a declared software change against native checks. Freeze the question and its inputs, execute in the owner's environment, and retain the evidence behind the decision.

Install the developer preview

Use Python 3.12 on macOS or Linux in a new directory. No Git checkout, model, simulator or GPU is needed. The installation file pins the SDK wheel and runtime dependencies with hashes.

python3.12 -m venv .venv
.venv/bin/python -m pip install --require-hashes -r \
  https://github.com/manfromnowhere143/nisayon/releases/download/v0.2.0/requirements-install.txt
.venv/bin/nisayon-qualify example owner-project

Release, checksums and source ↗ · Complete quickstart ↗

01

Freeze the comparison

The installed example contains a reference, candidate and deliberately wrong control, two exposed inputs, and an exact expected relation. Inspect owner-project/policy.py and case.json before running them.

.venv/bin/nisayon-qualify plan owner-project/case.json \
  --project owner-project --out run-001 --plan plan-001.json

Planning does not run the owner code or create the run directory.

02

Run and inspect

.venv/bin/nisayon-qualify run plan-001.json
.venv/bin/nisayon-qualify inspect run-001

Expect a valid software adopt and an unresolved deployment decision. The deliberate wrong-sign control must be detected. This is a software demonstration, not a robot task benchmark.

03

Carry the evidence

.venv/bin/nisayon-qualify export run-001 --out review-001.nisayon.zip
.venv/bin/nisayon-qualify review review-001.nisayon.zip

Python review recomputes the assessment without the original owner environment. The browser checks transport bytes and displays the saved assessment. Neither executes owner code during review.

Inspect a real example or open your review ↗

Use the Python SDK

The example includes a complete executable Python script:

.venv/bin/python owner-project/sdk_example.py --out python-result-001

Its core imports are ordinary Python:

from nisayon.qualification import (
    CaseSpec, ExecutionContext, plan_change, run_plan, assess_change,
)

case = CaseSpec.read("owner-project/case.json")
context = ExecutionContext.from_project("owner-project", output_dir="python-run-002")
plan = plan_change(case, context=context)
evidence = run_plan(plan, context=context)
assessment = assess_change(case, evidence)
print(assessment.record())

What the run retains

plan.json binds the question, probes, code and environment. Each of six attempt directories contains the request, pre-execution intent, observations, native-call and read witnesses, completion record and original logs. completion.json, manifest.json and seal.json bind the completed store. Inspect computes its scoped assessment.

Keep new assessments and exported reviews outside that sealed directory. Missing human effort and provider costs stay unknown; nested time measurements must not be added together.

Prepare your own comparison

Declare trusted synchronous Python functions, source and data dependencies, a competent reference, a deliberate failure control, justified expected outputs and the population the claim covers. The current adapter supports exact or numerical software relations. Robot deployment acceptance remains unresolved. General dependency discovery, complete-cost savings and enterprise tenancy remain unestablished.

All available operations and research interfaces ↗ · Review format and privacy boundary ↗

Review files contain original logs, inputs and paths. Opening one in the instrument stays in browser memory; exporting does not redact it. Inspect your own package before sharing.