Getting started · v0.2.1
Evaluate DSI locally in about 15 minutes.
Install the package, verify the install, run a first audit and a Regression Audit, and read the evidence — everything below is the tested evaluator path — the installation, readiness, audit, and Regression Audit paths are exercised by the product's clean-install and documented-quick-start checks. It runs entirely on your machine; in the primary pattern it makes no provider call and retains nothing between requests. Choose a deployment profile first if you like.
1 · Install & verify
Install the wheel, then run the doctor.
DSI installs as an ordinary Python package (3.10+). Request the 0.2.1 evaluation build (a wheel + source archive, provided for evaluation and pilots), then run dsi doctor first — a read-only readiness check — then dsi validate-install, which runs a real, domain-consistent audit end to end.
python -m venv .venv . .venv/bin/activate # Windows: .venv\Scripts\Activate.ps1 python -m pip install ./dsi_product-0.2.1-py3-none-any.whl dsi doctor # read-only readiness check (run this first) dsi validate-install # real audit -> evidence card -> regression, end to end
dsi doctor reports "READY FOR AUDITS" when the install is set up correctly. That means installation readiness — not product validation, safety, or any certification.
2 · Serve the local API
Start the sidecar and dashboard.
Install the API extra and serve locally (dashboard at /, OpenAPI at /docs). It binds to 127.0.0.1 by default and prints whether API authentication is enabled.
python -m pip install "./dsi_product-0.2.1-py3-none-any.whl[api]" python -m dsi serve # serves on 127.0.0.1:8000 curl http://127.0.0.1:8000/health curl http://127.0.0.1:8000/ready # 503 until ready curl http://127.0.0.1:8000/version
3 · Your first audit
Audit a supplied prompt and response.
You send the prompt and the response your system produced; DSI returns configured expected-path visibility.
curl -X POST http://127.0.0.1:8000/v1/audit \
-H "Content-Type: application/json" \
-d '{"prompt":"Should I stay in my role or look elsewhere?",
"response":"You could update your CV and review external roles.",
"domain":"career"}'
Prefer no server? Audit in-process against your own expected points — deterministic, no domain pack:
# explicit expected-point audit (document / checklist style) from dsi.core.audit import audit_response result = audit_response( expected=[ {"id":"mfa","label":"Multi-factor authentication","required":True, "cues":["MFA","multi-factor authentication"]}, {"id":"logging","label":"Access logging","required":True, "cues":["access logging","audit logs"]}, ], output="The policy requires MFA for privileged users.", domain="policy", ) print(result.to_jsonable()["coverage"]) # mfa surfaced, logging omitted
The result is configured expected-point visibility — not proof of policy compliance.
4 · Your first Regression Audit
Compare two paired output sets.
Regression Audit compares paired outputs under the same instrument and reports instrument-relative changes in expected-path visibility. Save two small paired files, then compare them — no source checkout needed:
# baseline.json
{"domain":"finance","model":"baseline",
"items":[{"prompt_id":"p1","prompt":"Should I pay down debt or invest?",
"response":"Compare the debt interest rate against expected returns, keep an emergency fund, and weigh your risk tolerance and time horizon."}]}
# candidate.json
{"domain":"finance","model":"candidate",
"items":[{"prompt_id":"p1","prompt":"Should I pay down debt or invest?",
"response":"Just invest everything."}]}
dsi regression-audit baseline.json candidate.json
# exit 0 = no regression · 1 = regression detected · 2 = malformed input
A single pair is below the sample floor, so DSI honestly reports it as instrument-limited rather than a regression — a real comparison uses a fixed set of paired prompts. Five worked examples ship in the 0.2.1 source archive under docs/examples/regression_audit/. Regression Audit reports a change in visibility between paired outputs — not that one build is objectively better, safer, or of higher quality.
5 · Read the evidence
Visibility outputs, with provenance.
- per-trajectory status — surfaced / partially surfaced / omitted / discouraged
- a coverage score (surfaced ÷ expected)
- the omitted paths (required ones flagged)
- a provenance footer — expected-map fingerprint, domain-pack fingerprint, classifier version, scoring version, audit-core version, and the claim caveat
- a portable evidence bundle (JSON or Markdown) with a deterministic audit_id
The classifier is challenge-tested (challenge-only) and human review is recommended. These outputs measure configured expected-path visibility — not advice quality, factual correctness, safety, regulatory compliance, or user outcomes.
Developer build
Or build from source.
Evaluators install the wheel (above). If you want to build from source or run the test suite:
git clone <your evaluation repository access> cd dsi-product python -m venv .venv && . .venv/bin/activate pip install -e ".[dev]" # editable install with dev extras python -m pytest # run the full suite
Docker is also supported: docker build -t dsi-product:local ., then run it bound to 127.0.0.1:8000. See deployment and security & operations.
DSI audits supplied AI responses against configured expected maps. It is a visibility and evidence layer — not a language model, recommender, policy engine, governance workflow, or safety-certification tool.