# 5D public evaluation pack

This pack lets an evaluator reproduce five bounded behaviors from the public `fivedrisk` 0.7.0 package without connecting to a model, reviewer, tool, account, or external service.

The website uses `pip install fivedrisk` for ordinary visitors so they receive the current release. This evaluation is intentionally pinned to 0.7.0 because its expected outputs and artifact digest are version-specific evidence.

## Run it

Use Python 3.11. Download the hash-locked wheels, install only those downloaded artifacts into a clean virtual environment, then run the evaluator while supplying the exact 5D wheel for an independent digest check:

```text
python3.11 -m pip download --only-binary=:all: --dest .artifacts --requirement requirements.txt
python3.11 -m venv .venv
.venv/bin/python -m pip install --no-index --find-links .artifacts --require-hashes --requirement requirements.txt
.venv/bin/python run.py --wheel .artifacts/fivedrisk-0.7.0-py3-none-any.whl
```

On Windows, replace `.venv/bin/python` with `.venv\Scripts\python.exe`.

The evaluator creates its decision log inside a temporary directory and removes that directory when the run ends. It performs no network request and no operating-system, file-deletion, payment, account, or other external action. The dangerous-looking command is only string input to an in-memory counter.

## What it checks

- a bounded read returns execution eligibility;
- an ORANGE result remains held as an approval-required signal;
- a known destructive command returns RED and BLOCK;
- missing required structure fails closed;
- an in-memory simulated effect runs without a gate and does not run behind a blocking gate.

`scenarios.json` also contains lifecycle examples for retry, unknown outcome, reconciliation, and challenge. They illustrate those states; the runner does not supply an executor, reviewer, authoritative record, or adjudication service.

## Artifact identity

The expected public artifact is `fivedrisk-0.7.0-py3-none-any.whl` with SHA-256:

```text
790edf0e09c81e89b232ab77589d6df8551a08ed93d0bef3644f5f1a4043c22c
```

Only the initial download step contacts the configured package index. `requirements.txt` pins the 5D wheel and its Python 3.11 PyYAML dependency to hashes published for the supported evaluation platforms. Installation is then offline, and the evaluator recomputes the 5D wheel digest before running any check. Inspect `manifest.json` for the complete boundary and version record.

## What this does not prove

This pack does not prove complete execution-path coverage, authenticated identity, reviewer authority, a live semantic observer, authoritative evidence custody, full framework support, safe deployment, certification, conformity, or compliance. It proves only the named behaviors under the pinned package and sample inputs.
